7. 运算符优先级

什么是运算符优先级 运算符优先级(Operator Precedence)决定了在一个表达式中哪个运算符先被执行。

当表达式中有多个运算符时,优先级高的运算符会先进行计算。

示例

x = 1 + 2 * 3 ** 4 - 2
x = 1 + 2 * 81 - 2
x = 1 + 162 - 2
x = 163 - 2
x = 161

以上示意一个赋值语句右侧表达式的执行顺序。

python 3.13 的运算符优先级表

运算符
描述
(expressions...),[expressions...], {key: value...}, {expressions...}
绑定或加圆括号的表达式,列表显示,字典显示,集合显示
x[index], x[index:index], x(arguments...), x.attribute
抽取,切片,调用,属性引用
await x
await 表达式
**
乘方 [[5]
+x, -x, ~x
正,负,按位非 NOT
*, @, /, //, %
乘,矩阵乘,除,整除,取余 [[6]
+, -
加和减
<<, >>
移位
&
按位与 AND
^
按位异或 XOR
|
按位或 OR
in, not in, is, is not, <, <=, >, >=, !=, ==
比较运算,包括成员检测和标识号检测
not x
布尔逻辑非 NOT
and
布尔逻辑与 AND
or
布尔逻辑或 OR
if -- else
条件表达式
lambda
lambda 表达式
:=
赋值表达式

上表中优先级自上而下依次降低。

视频讲解