python - "is"在 python 中如何工作?

标签 python module

有人可以解释一下如何在“如果”条件下使用"is"。我正在使用分数模块,但遇到了一些问题:

>>> 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 运算符用于检查两个变量是否指向同一个对象,并不意味着用于检查数字是否相等。您应该使用 == 代替。

例如考虑一下

(1000 + 1000) is (1000 + 1000)

返回False

关于python - "is"在 python 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235684/

相关文章:

npm - 什么时候应该使用 npm install vs npm i

java - GWT:模块与 ClientBundle?

python - 蒙特卡罗和面积计算

python - 属性错误: 'RangedWeapon' object has no attribute 'owner'

java - 无法将模块添加到 jpackage 创建的应用程序

c - Linux 模块 : performance counter does not work

c++ - 修复基于模块的库中的自阻塞包含

python - Django 1.7 多个数据库 - 操作错误 : (2006, 'MySQL server has gone away' )重置连接

python - 用单个空格替换字符串中的多间距 - Python

python - 查看 PDF 的问题