Python比较运算符?

求哪位大神帮忙解释一下print(3==3>2)print((3==3)>2)print(3==(3>2))

这个并不是优先级的关系哦,这是Python的语法特性,比较算符的链式写法,也即Comparisons can be chained,也就是3==3>2的实际效果是3==3 and 3>2。可以参看一下Python官方文档中的相关介绍

追问

那第二个和第三个怎么解释呢? 这两个返回false

追答

加上括号就不是链式了哦,就要先把括号里的看成独立的表达,得到的结果再去进行下一轮运算

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-11
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本回答被提问者和网友采纳
第2个回答  2020-01-05
以下假设变量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。
相似回答