算术运算符:
加 | 减 | 乘 | 除 | 取整 | 取余 | 幂运算 |
+ | - | * | / | // | % | ** |
# 加:
print(1 + 2) # 3
# 减:
print(4 - 3) # 1
# 乘:
print(2 * 5) # 10
# 除:
print(6 / 5) # 1.2
# 整除:
print(6 // 5) # 1
# 取余:
print(6 % 5) # 1
# 幂运算:
print(2 ** 3) # 8
注意:
整除运算,整除结果向下取整;
取余运算,余数 = 被除数 - 除数 * 商。
print(5 // -2) # -3 结果=-2.5,向下取整=-3
print(5 % -2) # -1 结果=5 - (-2) * (-3)
赋值运算符:
等于 | 加等 ··· |
= | += ··· |
a = 10
b = c = d = 10
b, c, d, = 10, 20, 30
e = 5 + 5
e += 5 # +=、-=、*=、/=、//=、%=、**=
扩展:快速交换两个变量的值
a, b = 10, 20
print(a, b) # 10 20
a, b = b, a
print(a, b) # 20 10
比较运算符:
value比较运算符 | 等于 | 不等于 | 大于 | 大于等于 | 小于 | 小于等于 |
== | != | > | >= | < | <= |
id比较运算符 / 身份运算符 是否引用同一个对象 |
id相等 | id不相等 |
is | is not |
a, b = 10, 10
print(id(a), id(b)) # 4336288272 4336288272
print(a == b) # True
print(a is b) # True
print(a is not b) # False
lst1 = [1, 2, 3]
lst2 = [1, 2, 3]
print(id(lst1), id(lst2)) # 4425922752 4425946240
print(lst1 == lst2) # True
print(lst1 is lst2) # False
print(lst1 is not lst2) # True
布尔运算符:
且(与) | 或 | 非 |
and | or | not |
两个值都为True 返回True,否则False |
两个值有一个为True 返回True,否则False |
结果取反 |
成员运算符 是否在指定序列中 |
在序列 | 不在序列 |
in | not in |
print('h' in 'hello') # True
print('a' not in 'hello') # True
lst = [1, 2, 3]
print(1 in lst) # True
print(1 not in lst) # False
位运算符:
把数字转换为二进制形式,以二进制位计算:
位与 | 位或 | 位异或 | 位取反 | 位左移 | 位右移 |
& | | | ^ | ~ | << | >> |
两个相应位都为1, 返回1, 否则0 |
两个相应位有一个1, 返回1, 否则0 |
两个相应位不相同, 返回1, 否则0 |
按位取反, | 二进制位左移指定位数 | 二进制位右移指定位数 |
运算符优先级:
算术运算符 > 位运算符 > 比较运算符 > 布尔运算符 > 赋值运算符