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 # 1 | Python 中 % 结果与除数同号:"-7%3=2" | ||
| ** | 幂运算 | 2 ** 10 # 1024 | 优先级高于乘除,低于单目 - | ||
| -x / +x | 一元正负 | -5 # -5 | + 不改变值,仅强调 | ||
| abs() | 绝对值 | abs(-5) # 5 | 内置函数,非运算符 | ||
| 比较运算符 | |||||
| == | 等于 | 5 == 5 # True | Python 中 == 可比较容器内容 | ||
| != | 不等于 | 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 = 10 | Python 中一切皆引用赋值 | ||
| += -= *= /= | 复合赋值 | 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 @ B | Python 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 x | await | await 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 = 2,7%-3 = -2 - • 链式比较
1 < x < 10等价于1,可读性好且高效 - •
is比较对象身份(id),不是值;小整数和短字符串有缓存,不要依赖 - •
==比较值,可被__eq__重载;NaN 比较特殊:float('nan')==float('nan')为 False - •
:=海象运算符(Python 3.8+)在表达式内赋值,常用于 while/if 中避免重复计算 - •
and和or返回操作数本身(不是 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() 行为不同
