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 星期六
本站已禁止评论!!! 如文章错漏请给博主写信或微信联系。