【python3学习】运算符
上次我们讲到列表、元组、字典、集合的知识点及区别
今天来看看Python语言支持的 运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
Python算术运算符
Python比较运算符
a = 2; b = 3
print(a == b) #返回 False
print(a != b) #返回 True
print(a > b) #返回 False
print(a < b) #返回 True
print(a >= b) #返回 False
print(a <= b) #返回 True
Python赋值运算符
a = 2;b = 3;c = 0
c = a + b
print ("c1 的值为:", c)# c1 的值为:5
c += a
print ("c2 的值为:", c)# c2 的值为:7
c *= a
print ("c3 的值为:", c)# c3 的值为:14
c /= a
print ("c4 的值为:", c)# c4 的值为:7.0
c = 2
c %= a
print ("c5 的值为:", c)# c5 的值为: 0
c **= a
print ("c6 的值为:", c)# c6 的值为: 0
c //= a
print ("c7 的值为:", c)# c7 的值为: 0
python中的位运算符
该运算符按二进制位对值进行操作
- 1、与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
- 2、或(|),按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1
- 3、异或(^),按位异或运算符:当两对应的二进位相异时,结果为1
- 4、取反(~),按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
- 5、左位移(<<),运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0
- 6、右位移(>>),把‘>>’左边的运算数的各二进制位全部右移若干位,>>右边的数字指定了移动的位数
Python逻辑运算符
a = 1
b = 2
if ( a and b ):
print ("1变量 a 和 b 都为 true")
else:
print ("1变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("2变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("2变量 a 和 b 都不为 true")
# 修改变量 a 的值
a = 0
if ( a and b ):
print ("3变量 a 和 b 都为 true")
else:
print ("3变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("4变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("4变量 a 和 b 都不为 true")
if not( a and b ):
print ("5变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print ("5变量 a 和 b 都为 true")
Python成员运算符
用于测试实例中包含了一系列的成员,包括字符串,列表或元组。
Python身份运算符
身份运算符用于比较两个对象的存储单元
小知识
is 与 == 区别:
- is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
a = [1, 2, 3]
b = a
print(b is a ) #True
print(b == a)#True
b = a[:]
print(b is a)#False
print(b == a)#True
Python运算符优先级
从高到低
a = 20
b = 21
c = 10
d = 14
e = 10
e = (a + b) * c / d
print ("(a + b) * c / d 运算结果为:", e)
# (a + b) * c / d 运算结果为:29.285714285714285
x = True
y = False
z = False
if x or y and z: # and 拥有更高优先级: 输出 yes
print("yes")
else:
print("no")