谁能解释一下python在这里做了什么?

时间:2014-01-08 17:05:04

标签: python

>>> 3 > 2 == True
 False  #say what?
>>> (3 > 2) == True
 True
>>> 3 > (2 == True)
 True
>>> 3 > 1 == True
 True
>>> 3 > False
 True

Python在其遗忘的隐藏逻辑中做了什么,使得第一个语句成为False,而其余的是True

1 个答案:

答案 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)