这两种检查三个对象之间相等性的方法之间是否存在计算差异?
我有两个变量:x
and y
。假设我这样做:
>>> x = 5
>>> y = 5
>>> x == y == 5
True
这与以下有什么不同:
>>> x = 5
>>> y = 5
>>> x == y and x == 5
True
如果他们是呢?False
?
>>> x = 5
>>> y = 5
>>> x == y == 4
False
And:
>>> x = 5
>>> y = 5
>>> x == y and x == 4
False
它们的计算方式有什么不同吗?
另外,如何x == y == z
work?
提前致谢!
Python 具有链式比较,因此这两种形式是等效的:
x == y == z
x == y and y == z
除了在第一个中, y 仅计算一次。
这意味着你还可以写:
0 < x < 10
10 >= z >= 2
等等。你也可以写一些令人困惑的东西,比如:
a < b == c is d # Don't do this
初学者有时会被这个问题绊倒:
a < 100 is True # Definitely don't do this!
这总是错误的,因为它与以下内容相同:
a < 100 and 100 is True # Now we see the violence inherent in the system!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)