乐宁工具

Python 运算符对照表

免费使用 超详细版 可复制

Python 运算符完整速查表,涵盖算术、比较、链式比较、逻辑、位运算、赋值、海象 :=、成员 in、身份 is、矩阵 @、三元 if-else、优先级等全部内容,每条配示例与说明。

分类运算符名称示例代码结果说明 / 注意事项
算术运算符
+加法3 + 2 # 5列表/字符串拼接:[1]+[2]=[1,2]
-减法5 - 3 # 2
*乘法3 * 4 # 12字符串重复:"a"*3="aaa";列表重复:[1]*3=[1,1,1]
/真除法7 / 3 # 2.333...Python 3 中 / 始终返回 float
//整除(地板除)7 // 3 # 2向下取整:-7//3 = -3
%取模7 % 3 # 1Python 中 % 结果与除数同号:"-7%3=2"
**幂运算2 ** 10 # 1024优先级高于乘除,低于单目 -
-x / +x一元正负-5 # -5+ 不改变值,仅强调
abs()绝对值abs(-5) # 5内置函数,非运算符
比较运算符
==等于5 == 5 # TruePython 中 == 可比较容器内容
!=不等于5 != 3 # True
>大于5 > 3 # True
<小于3 < 5 # True
>=大于等于5 >= 5 # True
<=小于等于3 <= 5 # True
链式比较
a < b < c链式1 < x < 10等价于 1<x and x<10;可任意长度链
逻辑运算符
and逻辑与True and False # False短路:左为 False 时右不求值
or逻辑或True or False # True短路:左为 True 时右不求值
not逻辑非not True # False优先级低于比较运算符
位运算符
&按位与5 & 3 # 1仅对整数;负数用补码
|按位或5 | 3 # 7
^按位异或5 ^ 3 # 6
~按位取反~5 # -6等价于 -(x+1)
<<左移5 << 1 # 10左移 n 位 = 乘以 2^n
>>右移-8 >> 1 # -4算术右移(保留符号)
赋值运算符
=赋值a = 10Python 中一切皆引用赋值
+= -= *= /=复合赋值a += 3 # a=a+3可变对象就地修改(__iadd__)
//= %= **=复合赋值a //= 3
:=海象(赋值表达式)if (n := len(x)) > 0:Python 3.8+;在表达式内赋值并返回值
成员运算符
in成员存在"a" in "abc" # True适用于字符串/列表/字典键等可迭代对象
not in成员不存在"x" not in "abc" # True
身份运算符
is同一对象a is b # True/False比较对象身份(id),不是值
is not不同对象a is not b注意:小整数/短字符串有缓存复用
矩阵运算符
@矩阵乘法A @ BPython 3.5+;需 numpy 或实现 __matmul__
特殊
del删除del x / del lst[0]删除引用或容器元素;不是运算符但常用
lambda匿名函数lambda x: x*2返回函数对象,非运算符
三元表达式
X if C else Y条件"成年" if age>=18 else "未成年"Python 的三元(与 C/Java 顺序不同)
优先级(高→低)
(expressions...)绑定/括号(a+b)*c最高优先级;也是元组语法
x[index] x[index:index]切片/下标a[0] / a[1:5:2]
x.attribute属性访问obj.name
await xawaitawait coro()异步等待
**幂运算2**3**2 # 512右结合
+x -x ~x一元正负/取反-5 / ~a
* / // %乘除模a*b/c
+ -加减a+b
<< >>位移
&按位与
^按位异或
|按位或
in not in is is not成员/身份
< <= > >=比较
== !=相等
not逻辑非not 优先级低于 ==
and逻辑与
or逻辑或
优先级(最低)
if-else / := / lambda条件/赋值表达式最低优先级

Python 运算符注意事项

  • / 是真除法(始终 float),// 是地板除(向下取整):-7//3 = -3
  • % 结果与除数同号(与 C/Java 不同):-7%3 = 27%-3 = -2
  • • 链式比较 1 < x < 10 等价于 1,可读性好且高效
  • is 比较对象身份(id),不是值;小整数和短字符串有缓存,不要依赖
  • == 比较值,可被 __eq__ 重载;NaN 比较特殊:float('nan')==float('nan') 为 False
  • := 海象运算符(Python 3.8+)在表达式内赋值,常用于 while/if 中避免重复计算
  • andor 返回操作数本身(不是 True/False):1 and 2 返回 2
  • not 优先级低于 ==not a == b 等价于 not (a==b)
  • @ 矩阵乘法(Python 3.5+),需 numpy 或实现 __matmul__

链式比较

a < b < c 等价于 a

:= 海象

在表达式内赋值并返回值,避免重复计算

is vs ==

is 比身份(id),== 比值;小整数有缓存别踩坑

// 地板除

向下取整而非截断:负数时与 int() 行为不同