在Python中,True != True
为False
,False != True
应为True
。但是,评估的结果不应该是True
吗?
答案 0 :(得分:7)
这是因为这两项检查是独立进行的。 True != True != True
等同于True != True and True != True
,其评估为False
,因为两个操作数都不会计算为True
(实际上,它甚至不评估第二个True != True
比较,由于短路)。
相关的documentation:
比较可以任意链接,例如,
x < y <= z
等同于x < y and y <= z
,但y
仅评估一次(但在两种情况下z
都未评估所有x < y
被发现为假的时候。