在python中,支持的运算符类型有:
- 算数运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
各类运算符的优先级从高到低依次为:
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号(最后两个方法名为+@和-@) |
* / % // | 乘,除,求余数和取整数 |
+ - | 加法,减法 |
>> << | 右移,左移运算符 |
& | 位"AND" |
^丨 | 位运算符 |
<=<>>= | 比较运算符 |
== != | 等于运算符 |
= %= /= //= += -= *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
以下用一个示例说明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)
输出结果为:
(a + b) * c / d 运算结果为: 90.0
((a + b) * c) / d 运算结果为: 90.0
(a + b) * (c / d) 运算结果为: 90.0
a + (b * c) / d 运算结果为: 50.0
and 拥有更高优先级:
x = True
y = False
z = False
if x or y and z:
print("yes")
else:
print("no")
输出结果为:
yes