Python 运算符
1.1 运算符优先级
| 运算符 | 描述 | 优先级 | 结合性 |
|---|---|---|---|
(expr...)、[expr...]、{key: value...}、{expr...} | 绑定或加圆括号的表达式,列表、字典、集合 | 18 | 左 |
x[i]、x[i:j]、x(args...)、x.attribute | 索引、切片、调用、属性引用 | 17 | 左 |
await x | await 表达式 | 16 | 左 |
** | 幂[1] | 15 | 右 |
+x、-x、~x | 正,负,按位非 NOT | 14 | 右 |
*、@、/、//、% | 乘,矩阵乘,除,整除,取余 | 13 | 左 |
+、- | 加和减 | 12 | 左 |
<<、>> | 移位 | 11 | 左 |
& | 按位与 AND | 10 | 左 |
^ | 按位异或 XOR | 9 | 左 |
| | 按位或 OR | 8 | 左 |
in、not in、is、is not、<、<=、>、>=、!=、== | 比较运算,包括成员检测和标识号检测 | 7 | 左 |
not x | 布尔逻辑非 NOT | 6 | 右 |
and | 布尔逻辑与 AND | 5 | 左 |
or | 布尔逻辑或 OR | 4 | 左 |
if ... else ... | 条件表达式 | 3 | 左 |
lambda | lambda 表达式 | 2 | 左 |
:= | 赋值表达式 | 1 | 左 |
幂运算符
**绑定的紧密程度低于在其右侧的算术或按位一元运算符,也就是说2**-1为0.5。 ↩︎