Python布尔比较和

时间:2018-04-18 07:33:47

标签: python boolean

Python 3.6.2控制台:

>>> 11 > 0 is True
False

但是

>>> 0 is True
False
>>> 11 > False
True

那么,为什么11 > 0 is TrueFalse

1 个答案:

答案 0 :(得分:4)

这是comparison chaining的示例,因为>is都是比较运算符。

  

比较可以任意链接,例如,x < y <= z是等效的   至x < y and y <= z,但y仅评估一次(但两者都有)   如果发现z为false,则根本不评估案例x < y

     

正式,如果a, b, c, …, y, z是表达式,op1, op2, …, opN是。a op1 b op2 c ... y opN z   比较运算符,然后a op1 b and b op2 c and ... y opN z相当于   >>> (11 > 0) and (0 is True) False ,除了每个表达式都是   最多评估一次。

因此,它相当于:

{{1}}