学科分类
目录
基础

运算符优先级

如果某个表达式中同时使用了多个运算符,这些运算符的优先级是不同的。表1列出了从最高到最低优先级的所有运算符。

表1 运算符优先级

运算符 描述
** 指数(最高优先级)
~ + - 按位翻转,一元加号和减号(最后两个的方法名为+@和-@)
* / % // 乘,除,取模和取整除
+ - 加法,减法
>> << 右移,左移运算符
& 按位与
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += = = 赋值运算符
is is not 成员运算符
or and 逻辑运算符

为了便于大家更好地理解运算符的优先级,接下来,通过实例演示Python运算符的优先级,具体代码如下所示:

a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d                        # 等价于( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d                      # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d)                      # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d                        # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)

运算结果如图1所示。

image-20200616092238067

图1 运算结果

点击此处
隐藏目录