Python的运算符优先级(从最高到最低优先级):
运算符 | 描述 |
** | 指数 |
~x | 按位翻转 |
+x,-x | 正负号 |
*,/,% | 乘法、除法与取余 |
+,- | 加法与减法 |
<<,>> | 移位 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
<,<=,>,>=,!=,== | 比较 |
is,is not | 同一性测试 |
in,not in | 成员测试 |
not x | 布尔“非” |
and | 布尔“与” |
or | 布尔“或” |
lambda | Lambda表达式 |
Python所有运算符优先级测试:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
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
输出结果:
(a + b) * c / d 运算结果为: 90
((a + b) * c) / d 运算结果为: 90
(a + b) * (c / d) 运算结果为: 90
a + (b * c) / d 运算结果为: 50