这个并不是优先级的关系哦,这是Python的语法特性,比较算符的链式写法,也即Comparisons can be chained,也就是3==3>2的实际效果是3==3 and 3>2。可以参看一下Python官方文档中的相关介绍
print(3==3>2) 等价于(3==3) and (3>2),两部分都是True,所以最终结果也是True
另外两个有括号,括号的优先级高,所以先计算括号里面的内容,然后再进行比较。
print ((3==3)>2)等价print(True>2),最终False
print(3==(3>2))等价print(3==True),最终False
以下假设变量a为10,变量b为20:
运算符
描述
实例
==
等于 - 比较对象是否相等
(a == b) 返回 False。
!=
不等于 - 比较两个对象是否不相等
(a != b) 返回 true.
<>
不等于 - 比较两个对象是否不相等
(a <> b) 返回 true。这个运算符类似 != 。
>
大于 - 返回x是否大于y
(a > b) 返回 False。
<
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
(a < b) 返回 true。
>=
大于等于 - 返回x是否大于等于y。
(a >= b) 返回 False。
<=
小于等于 - 返回x是否小于等于y。
(a <= b) 返回 true。