num1和num2都是3.5,num1 == num2给出的是True,但对于is运算符,则是False。
看下面的代码,
输入:
num1 = 3.5
num2 = float(input('num2:')) # num2 stands for 2nd number
print(num1 == num2)
print(num1 is num2)输出:
num2:3.5
True
False
num1和num2都是3.5,num1 == num2给出了True,但对于is运算符则是False。
为什么是id(num1) != id(num2)?
发布于 2019-09-25 14:47:00
简单地说,is将检查身份,而==将检查是否相等。is运算符比较两个对象的标识,而==运算符比较两个对象的值。
发布于 2019-09-25 14:47:30
==运算符比较两个操作数的值,并检查值相等。而is操作符检查两个操作数是否指向同一个对象。
发布于 2019-09-25 14:51:25
就像另外两个人说的那样,==检查等式,是检查id()。使用id()来查看对象id是什么,它们将不一样,这就是为什么' is‘返回false的原因。
https://stackoverflow.com/questions/58101084
复制相似问题