最近看到几个小例子,发现自己对这块有点不是很清楚,遂记录一下。
以下运算符,从下至上,优先级顺序依次递增。
Lambda
逻辑运算符: or
逻辑运算符: and
逻辑运算符:not
成员测试: in, not in
同一性测试: is, is not
比较: <,<=,>,>=,!=,==
按位或: |
按位异或: ^
按位与: &
移位: << ,>>
加法与减法: + ,-
乘法、除法与取余: *, / ,%
正负号: +x,-x
举个例子:
+- 加减法优先级大于逻辑运算符
>>> 2 - 2 and 1
0
>>> 2 and 1
1
>>> 0 and 1
0说起逻辑运算符这里就顺便提下里面的一些小细节,假若给定a,b; a>0 and b>0,则有:
a and b = b
a or b = a
>>> 3 or 4
3
>>> 4 or 3
4
>>> 3 and 4
4
>>> 4 and 3
3