Python运算符的优先级

在用Python进行计算时,运算符的优先级尤为重要,具体常用优先级顺序如下

该表格是以从低到高的顺序列出的,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

你可能感兴趣的:(Python)