Python变量类型和运算符知识点整理

举报
陈言必行 发表于 2021/12/06 07:53:45 2021/12/06
【摘要】 我们学习所有的编程语言几乎都是从变量开始学起的,而学习变量,基本上都是`int a = 0;`这种开始练习来了的,有了变量之后能用怎么用呢?

前言

我们学习所有的编程语言几乎都是从变量开始学起的,而学习变量,基本上都是int a = 0;这种开始练习来了的,有了变量之后能用怎么用呢?于是就有了下面这种语句:

int a = 1;
int b = 2;
ind c = a + b;

不同类型的语言的语法和实现都大不相同,变量和运算符的概念都是相同的,它们都符合我们从小就学习的数学知识。比如上面的代码,就是数学中的求1+2=?

一起来看看我整理的Python变量和运算符学习路程吧(PS:下面带下划线蓝字部分都是传送门)


变量学习路线

Python变量类型

变量在 Python 内部是有类型的,比如 int、float 等,但是我们在编程时无需关注变量类型,所有的变量都无需提前声明,赋值后就能使用。另外,可以将不同类型的数据赋值给同一个变量,所以变量的类型是可以改变的。

name = value

name 表示变量名;value 表示值,也就是要存储的数据。

举例:

a = 1; #将1赋值给变量 a
pi = 3.1415926  #将圆周率赋值给变量 pi
  • 整数类型
    整数就是没有小数部分的数字,Python中的整数包括正整数、0和负整数。Python 整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。

举例:

# 将 很大的数111111111111111 赋值给变量 a
a = 111111111111111
print(a)

# 输出:
# 111111111111111
# <class 'int'>
  • 浮点类型
    小数通常以浮点数的形式存储。Python中又分为浮点数和定点数,浮点数和定点数是相对的:小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。

举例:

f1 = 12.5
print("f1Value: ", f1)
print("f1Type: ", type(f1))

# 输出
# f1Value:  12.5
# f1Type:  <class 'float'>
  • 复数类型
    复数(Complex)是Python的内置类型,直接书写即可。复数由实部(real)和虚部(imag)构成,在 Python 中,复数的虚部以j或者J作为后缀,具体格式为:a + bj a 表示实部,b 表示虚部。

举例:

c1 = 12 + 0.2j
print("c1Value: ", c1)
print("c1Type", type(c1))

# 输出
# c1Value:  (12+0.2j)
# c1Type <class 'complex'>
  • 字节类型
    bytes类型用来表示一个字节串。bytes是Python3.x新增的类型,在 Python 2.x 中是不存在的。

举例:

# 通过构造函数创建空 bytes
b1 = bytes()

# 通过空字符串创建空 bytes
b2 = b''

# 通过b前缀将字符串转换成 bytes
b3 = b'https://www.baidu.com/'
print("b3: ", b3)
print(b3[3])

# 输出
# b3:  b'https://www.baidu.com/'
# 112

  • 布尔类型
    Python提供了bool类型来表示真(对)或假(错),True 和 False 是 Python 中的关键字,当作为 Python 代码输入时,一定要注意字母的大小写,否则解释器会报错。

  • 字符串

若干个字符的集合就是一个字符串(String)。Python中的字符串必须由双引号""或者单引号’'包围。
格式为:

print("双引号定义")
print('单引号定义')

# 输出
# 双引号定义
# 单引号定义

熟悉C语言printf()函数的读者能够轻而易举学会Pythonprint()函数,它们是非常类似的。

转换说明符 解释
%d、%i 转换为带符号的十进制整数
%o 转换为带符号的八进制整数
%x、%X 转换为带符号的十六进制整数
%e 转化为科学计数法表示的浮点数(e 小写)
%E 转化为科学计数法表示的浮点数(E 大写)
%f、%F 转化为十进制浮点数
%g 智能选择使用 %f 或 %e 格式
%G 智能选择使用 %F 或 %E 格式
%c 格式化字符及其 ASCII 码
%r 使用 repr() 函数将表达式转换为字符串
%s 使用 str() 函数将表达式转换为字符串

转义字符,就是那些以反斜杠\开头的字符。

转义字符 说明
\n 换行符,将光标位置移到下一行开头。
\r 回车符,将光标位置移到本行开头。
\t 水平制表符,也即 Tab 键,一般相当于四个空格。
\a 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。
\b 退格(Backspace),将光标位置移到前一列。
\ 反斜线
单引号
" 双引号
\ 在字符串行尾的续行符,即一行未完,转到下一行继续写。

Python是弱类型编程语言,虽然在使用变量前不声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。

函 数 作 用
int(x) 将 x 转换成整数类型
float(x) 将 x 转换成浮点数类型
complex(real,[,imag]) 创建一个复数
str(x) 将 x 转换为字符串
repr(x) 将 x 转换为表达式字符串
eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象
chr(x) 将整数 x 转换为一个字符
ord(x) 将一个字符 x 转换为它对应的整数值
hex(x) 将一个整数 x 转换为一个十六进制字符串
oct(x) 将一个整数 x 转换为一个八进制的字符串

运算符学习路线

Python运算符

运算符将各种类型的数据连接在一起形成表达式。Python 的运算符丰富但不混乱,比如 Python 支持自增和自减运算符,但是它只支持一种形式,就是前自增和前自减,而取消了后自增和后自减,避免了给程序员造成混乱。

运算符

算术运算符也即数学运算符,用来对数字进行数学运算。Python中包括:加,减,乘,除,取余,整除,幂运算

举例:

a = 3
b = 2
 
c = a + b
print ("加法的值为:", c)
 
c = a - b
print ("减法的值为:", c)
 
c = a * b
print ("乘法的值为:", c)
 
c = a / b
print ("除法的值为:", c)
 
c = a % b
print ("取模的值为:", c)
	
c = a**b 
print ("次方的值为:", c)
 
c = a//b 
print ("整除的值为:", c)

# 输出
# 加法的值为: 5
# 减法的值为: 1
# 乘法的值为: 6
# 除法的值为: 1.5
# 取模的值为: 1
# 次方的值为: 9
# 整除的值为: 1

最基本的赋值运算符是等号=;结合其它运算符,=还能扩展出更强大的赋值运算符:比如连续赋值,+=,-= 等…

举例:

a = 3
c = 2
 
c += a
print ("加法的值为:", c)
 
c -= a
print ("减法的值为:", c)
 
c *= a
print ("乘法的值为:", c)
 
c /= a
print ("除法的值为:", c)
 
c %= a
print ("取模的值为:", c)
	
c **= a 
print ("次方的值为:", c)
 
c //= a 
print ("整除的值为:", c)

# 输出
# 加法的值为: 5
# 减法的值为: 2
# 乘法的值为: 6
# 除法的值为: 2.0
# 取模的值为: 2.0
# 次方的值为: 8.0
# 整除的值为: 2.0

也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。 如果这种比较是成立的,则返回True,反之则返回False。

a = 3
b = 2
c = 0
 
if ( a == b ):
   print ("1 - a 等于 b")
else:
   print ("1 - a 不等于 b")
 
if ( a != b ):
   print ("2 - a 不等于 b")
else:
   print ("2 - a 等于 b")
 
if ( a < b ):
   print ("3 - a 小于 b")
else:
   print ("3 - a 大于等于 b")
 
if ( a > b ):
   print ("4 - a 大于 b")
else:
   print ("4 - a 小于等于 b")
 
# 修改变量 a 和 b 的值
a = 5
b = 20
if ( a <= b ):
   print ("5 - a 小于等于 b")
else:
   print ("5 - a 大于  b")
 
if ( b >= a ):
   print ("6 - b 大于等于 a")
else:
   print ("6 - b 小于 a")
   
# 输出
# 1 - a 不等于 b
# 2 - a 不等于 b
# 3 - a 大于等于 b
# 4 - a 大于 b
# 5 - a 小于等于 b
# 6 - b 大于等于 a
  • 逻辑运算符
    包括and,or,not三种分别对应数学中的且,或,非。
运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

和其它编程语言中三目运算符?:的写法类型,Python中这样写:max = a if a>b else b

举例:

# if else 语句
if a>b:
    max = a;
else:
    max = b;
    
# 三目运算符
max = a if a>b else b

  • 位运算符
    位运算按照数据在内存中的二进制位(Bit)进行操作,一般用于底层开发,可跳过后续用到再来学习
运算符 描述
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
>> 右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数

所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。Python 支持几十种运算符,被划分成将近二十个优先级,有的运算符优先级不同,有的运算符优先级相同

所谓结合性,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫左结合性,先执行右边的叫右结合性。

当一个表达式中出现多个运算符时,Python 会先比较各个运算符的优先级,按照优先级从高到低的顺序依次执行;当遇到优先级相同的运算符时,再根据结合性决定先执行哪个运算符:如果是左结合性就先执行左边的运算符,如果是右结合性就先执行右边的运算符。


线上练习工具推荐

若你电脑上还没有搭建Python的环境,又要迫不及待的试一试,那么请你

菜鸟工具:Python 在线工具

菜鸟工具:Python3在线工具

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。