在Python中,我有2>3 == False
给出了False
。但我期望True
。如果我使用括号,即(2>3) == False
,则得到True
。这背后的理论是什么?
这是因为Python的一个功能与其他编程语言相比是非常不寻常的,它是您可以按顺序编写两个或多个比较,并且具有数学家直观的含义。例如,0 < 5 < 10
之类的表达式为True
,因为0 < 5 and 5 < 10
为True
。
比较可以任意链接;例如,
x < y <= z
等效于x < y and y <= z
,除了y
仅被评估一次(但是在两种情况下,当发现z
为假时,都不会评估x < y
。)>因此,表达式
2 > 3 == False
等于2 > 3 and 3 == False
,即False
。