python - "is"和 "=="有什么区别?

标签 python equality

<分区>

bool 世界中这两段代码有什么区别:

1 is 1

1 == 1

我找到了两个描述它的网页,但我看不出有什么不同,因为我不知道如何获得不同的结果:

http://www.informit.com/articles/article.aspx?p=459269&seqNum=10

https://docs.python.org/2/library/stdtypes.html

在第二页,我找到了运算符。在第一页上,我看了第二页,它描述了一个差异,但没有告诉我什么时候我会这样做并得到不同的结果。这是我的大问题,什么时候做一个与另一个不同的结果?

显然,有些情况下一个为真另一个为假,对吧?

最佳答案

使用变量时,可能会导致不正确的结果:

>>> foo = [1, 2, 3]
>>> foo is [1, 2, 3]
False
>>> foo == [1, 2, 3]
True

看文档,here

== 表示“相等”,而 is 是对象标识。

关于python - "is"和 "=="有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069795/

相关文章:

python - 如何在 Python 中为抽象类定义构造函数实现?

python - 使用 sklearn 计算两个不同列的单独 tfidf 分数

java - 检查 future 的对象是否相等

java - 为什么 hashCode() 在所有连续执行中为对象返回相同的值?

python - 从间隔数组创建类别

Python - Kivy 框架 - Spinner 值列表

python - 上传固定格式的csv文件

node.js - 什么是 Mocha 相等测试?

java - 如何在 Java 中比较字符串?

javascript - 检查两个具有浮点值的对象是否相等?