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 表达式
:=
赋值表达式
上表中优先级自上而下依次降低。