Python七种运算符

it2026-08-16  7

Python运算符

算术运算符/ (结果为小数)//%** 比较运算符== 赋值运算符= 将右侧的值赋值给左侧变量*= 成员运算符身份运算符逻辑运算符and 逻辑与or 逻辑或not 逻辑非逻辑短路的两种情况 位运算符& 按位与^ 按位异或<< 左移与>> 右移~ 按位非 总结个别运算符同一种类运算符整体排序

算术运算符

算数运算符包含有+(加)、-(减)、*(乘)、/(除)、//(地板除)、**(幂运算)、%(取余)

/ (结果为小数)

var1 = 2 var2 = 2 res = var1 / var2 print(res)

//

被除数 ➗ 除数 = 商注意点:如果被除数或者除数是小数,那么在正常结果后加上**.0**变成小数 var1 = 2 var2 = 2.0 res = var1 // var2 print(res)

%

var1 = 7 var2 = 4 res = var1 % var2 print(res) # 3 var1 = -7 var2 = 4 res = var1 % var2 print(res) # -3 + 4 = 1 var1 = 7 var2 = -4 res = var1 % var2 print(res) # 3 + (-4) = -1 var1 = -7 var2 = -4 res = var1 % var2 print(res) # -3

**

res = 3 ** 2 print(res)

比较运算符

比较运算符包含有>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)比较运算符的结果要么是True,要么是False,只有两个值

==

# 这个符号是在做比较,比较==两边的数值是否一样 res = 5 == 9 print(res)

赋值运算符

赋值运算符包含有=、+=、-=、*=、/=、//=、%=、**=

= 将右侧的值赋值给左侧变量

a = 5 <= 3 print(a)

*=

""" var1 *= var2 相当于 var1 = var1 * var2 """ var1 *= var2 print(var1)

成员运算符

成员运算符包含有in、not in(针对于容器型数据)in或not in是判断某个值是否包含在(或不在)一个容器类型数据当中字符串判断时,必须是连续的片段针对于字典,判断的是字典的键,而不是字典的值 strvar = "今天天气要下雨,赶紧回家收衣服" res = "今" in strvar res = "赶回" in strvar print(res)

身份运算符

身份运算符包含有is和is not(检测两个数据id是否相同),可参考python3.6变量缓存机制

逻辑运算符

逻辑运算符包含有and、or、not

and 逻辑与

"""全真则真,一假则假""" res = True and True # True res = True and False # False res = False and True # False res = False and False # False print(res)

or 逻辑或

"""一真则真,全假则假""" res = True or True # True res = False or True # True res = True or False # True res = False or False # False print(res)

not 逻辑非

res = not True res = not False print(res)

逻辑短路的两种情况

如果短路,无论后面的表达式是True还是False都已经无法改变结果,后面的代码不执行

(1) True or 表达式(2) False and 表达式

位运算符

位运算符包含有&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)、~(按位非)

& 按位与

var1 = 19 var2 = 15 res = var1 & var2 """ 000 ... 10011 000 ... 01111 000 ... 00011 => 3

^ 按位异或

""" 两个值不相同,返回True 两个值相同,返回False """ var1 = 19 var2 = 15 res = var1 ^ var2 """ 000 ... 10011 000 ... 01111 000 ... 11100 """

<< 左移与>> 右移

""" 左移:m乘n的n次幂 右移:m地板除n的n次幂 """ # res = m << n res = 5 << 3 # 40 res = 5 >> 1 # 2 print(res)

~ 按位非

# 针对于补码进行操作,按位取反,包含每一位 # 计算公式:-(n+1) res = ~19 print(res) """ 原码:000 ... 10011 反码:000 ... 10011 补码:000 ... 10011 补码: 000 ... 10011 按位非: 111 ... 01100 补码:111 ... 01100 反码:100 ... 10011 原码:100 ... 10100 => -20 """

总结

个别运算符

运算符优先级最高: **运算符优先级最低: =() 可以提升优先级

同一种类运算符

算术运算符: 乘除 > 加减逻辑运算符: () > not > or位运算符: (<<、>>) > & > ^ > |

整体排序

算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符 > 赋值运算符

最新回复(0)