[英]How does “is” work in python?
可以请有人解释如何在“如果”条件下使用“是”。 我正在使用分数模块,但遇到了一些麻烦:
>>> Fraction(0, 1) is 0
False
>>> float(Fraction(0, 1))
0.0
>>> float(Fraction(0,1)) is 0.0
False
我发现唯一有效的是:
>>> F = Fraction(a,b)
>>> if F >= 0:
... if F(0, 1) <= 0:
... ...
有没有办法在这里使用'is'? 谢谢。
python 中的is
运算符用于检查两个变量是否指向同一个 object,并不用于检查数值相等性。 你应该使用==
来代替。
例如考虑
(1000 + 1000) is (1000 + 1000)
返回False
。
is
object 身份。 如果两个名称引用相同的 object,则返回 true。 一个典型的用例是检查名称是否引用None
:
if foo is None:
# do stuff
a is b
等价于id(a) == id(b)
引自http://docs.python.org/library/operator.html :
operator.is_(a, b) 返回 a 是 b。 测试 object 身份。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.