该表格是以从低到高的顺序列出的,1位最小,16为最大
优先级 | 运算符 | 描述 |
---|---|---|
1 | lambda |
lambda表达式 |
2 | or |
布尔"或" |
3 | and |
布尔"与" |
4 | not |
布尔"非" |
5 | in, not in |
成员测试 |
6 | is, is not |
同一性测试 |
7 | <, <=, >, >=, !=, == |
比较 |
8 | | |
按位或 |
9 | ^ |
按位异或 |
10 | & |
按位与 |
11 | <<, >> |
移位 |
12 | +, - |
加减法 |
13 | *, /, % |
乘、除和取余 |
14 | +x, -x |
正负号 |
15 | ~x |
按位翻转 |
16 | ** |
指数 |
同一优先级计算顺序从右往左
如:‘×’和’/‘是同一优先级,但先’/‘后’×’
例:
# 2 ** 3 ** 2 = ?
>>> 2**3**2
512
>>> (2**3)**2
64
>>> 2**(3**2)
512
# 1 / 3 * 3 = ?
>>> 1/3*3
1.0
# / 大于 * ,所以先计算1 / 3再算1/3 * 3
若想改变运算符顺序,可通过加"()"来进行改变
参考:
参考1
参考2
参考3