为什么True!= True!= True评估为False

时间:2017-12-22 07:25:47

标签: python

在Python中,True != TrueFalseFalse != True应为True。但是,评估的结果不应该是True吗?

1 个答案:

答案 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被发现为假的时候。