首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >is算子和==算子

is算子和==算子
EN

Stack Overflow用户
提问于 2019-09-25 14:45:28
回答 3查看 66关注 0票数 3

num1num2都是3.5,num1 == num2给出的是True,但对于is运算符,则是False

看下面的代码,

输入:

代码语言:javascript
复制
num1 = 3.5
num2 = float(input('num2:'))  # num2 stands for 2nd number
print(num1 == num2)
print(num1 is num2)

输出:

代码语言:javascript
复制
num2:3.5
True
False

num1num2都是3.5,num1 == num2给出了True,但对于is运算符则是False

为什么是id(num1) != id(num2)

EN

回答 3

Stack Overflow用户

发布于 2019-09-25 14:47:00

简单地说,is将检查身份,而==将检查是否相等。is运算符比较两个对象的标识,而==运算符比较两个对象的值。

票数 1
EN

Stack Overflow用户

发布于 2019-09-25 14:47:30

==运算符比较两个操作数的值,并检查值相等。而is操作符检查两个操作数是否指向同一个对象。

票数 1
EN

Stack Overflow用户

发布于 2019-09-25 14:51:25

就像另外两个人说的那样,==检查等式,是检查id()。使用id()来查看对象id是什么,它们将不一样,这就是为什么' is‘返回false的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58101084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档