下表列出所有从最高优先级到最低的运算符。
操作符 | 描述 |
---|---|
** |
幂运算
|
~ + - |
补,一元加号和减号(方法名的最后两个 +@ 和 -@)
|
* / % // |
乘,除,模运算和地板除
|
+ - |
加法和减法
|
>> << |
左,右按位移动
|
& |
位元“与”
|
^ | |
按位'异或'和常规 '或'
|
<= < > >= |
比较运算符
|
<> == != |
操作符相等比较
|
= %= /= //= -= += *= **= |
赋值运算符
|
is is not |
标识操作符
|
in not in | 成员操作符 |
not or and | 逻辑运算符 |
运算符优先级会影响如何计算一个表达式。
例如x = 7 + 3 * 2; 这里,x被分配值为13,而不是20因为操作符* 优先级高于+,所以要首先相乘3 * 2,然后添加到7。
这里,优先级最运算符放在表的顶部,而那些低的运算符放在底部。
示例
#!/usr/bin/python3 a = 20 b = 10 c = 15 d = 5 print ("a:%d b:%d c:%d d:%d" % (a,b,c,d )) e = (a + b) * c / d #( 30 * 15 ) / 5 print ("Value of (a + b) * c / d is ", e) e = ((a + b) * c) / d # (30 * 15 ) / 5 print ("Value of ((a + b) * c) / d is ", e) e = (a + b) * (c / d) # (30) * (15/5) print ("Value of (a + b) * (c / d) is ", e) e = a + (b * c) / d # 20 + (150/5) print ("Value of a + (b * c) / d is ", e)
当你执行上面的程序,它会产生以下结果 -
a:20 b:10 c:15 d:5 Value of (a + b) * c / d is 90.0 Value of ((a + b) * c) / d is 90.0 Value of (a + b) * (c / d) is 90.0 Value of a + (b * c) / d is 50.0