我已经在Python 3中输入了一些闲置的代码,并且不了解输出。有人可以解释,为什么会发生这种情况:
1> 0 ==真
False
1> (0 ==真)
True
(1> 0)== True
True
您也可以将数字替换为bool,输出也是相同的。
答案 0 :(得分:1)
因为在Python中comparisons can be chained arbitrarily。所以你的表达式等同于
(1 > 0) and (0 == True)
后一部分显然失败了。
你会惊讶地发现这在Python中是正确的,但在C中是假的:
5 > 4 > 3 > 2 > 1
答案 1 :(得分:0)
这些运算符都具有相同的优先级(From Docs)
与C不同,Python中的所有比较操作都具有相同的优先级,低于任何算术,移位或按位操作的优先级。
答案 2 :(得分:0)