>>> 3 > 2 == True
False #say what?
>>> (3 > 2) == True
True
>>> 3 > (2 == True)
True
>>> 3 > 1 == True
True
>>> 3 > False
True
Python在其遗忘的隐藏逻辑中做了什么,使得第一个语句成为False
,而其余的是True
?
答案 0 :(得分:13)
这是一个链式比较(请参阅文档中的here),与
相同>>> 1 < 2 < 3
True
是
>>> (1 < 2) and (2 < 3)
True
在这种情况下,我们有
>>> 3 > 2 == True
False
,因为
>>> (3 > 2) and (2 == True)
False
,因为
>>> (3 > 2), (2 == True)
(True, False)