我在与==
但不能一起使用的表达式上得到了一些相当意外的行为is
:
>>> (True == False) is False
True
>>> True == (False is False)
True
>>> True == False is False
False
>>> id(True)
8978640
>>> id(False)
8978192
>>> id(True == False)
8978192
>>> id(False is False)
8978640
因为实际上这是链式比较,所以
True == False is False
相当于
(True == False) and (False is False)
在这种情况下,这可能令人惊讶,但是可以让您编写1 <= x < 4
不同于其他语言(如C)的语言。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句