Python运算符优先级和结合性

Python运算符的优先级

官方标准:https://docs.python.org/3/reference/expressions.html#operator-precedence

运算符 说明 结合性
( ) 小括号
x[index] 索引运算符
await x 挂起等待
**
+x -x ~x 加、减、取反
* @ / // % 乘、矩阵乘、除、取整、求余
+ - 加减
<< >> 位移
& 按位与
^ 按位异或
按位异
in,not in,is,is not,<,<=,>,>=,!=,== in,is,比较运算符
not 逻辑非
and 逻辑与
or 逻辑或
if -- else 条件
lambda lambda
:= 分配

Python 中大部分运算符都具有左结合性,也就是从左到右执行;
只有 ** 乘方运算符、单目运算符(例如 not 逻辑非运算符)、赋值运算符和三目运算符例外,它们具有右结合性,也就是从右向左执行。

例子:4 + 4 << 2
加优先级大于左移,所以先 4 + 4 得到8,再8 << 2 ,得到32

例子: 6 / 3 * 5
除乘为左结合性,所以 6 / 3 得到2.0 ,再2.0 * 5 ,得到10.0

运算符优先级

2022-02-12 14:18:05 星期六

本站已禁止评论!!! 如文章错漏请给博主写信或微信联系。