【发布时间】:2020-01-25 19:18:56
【问题描述】:
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)?
【问题讨论】:
-
关闭的太快了——虽然它密切相关,但它并不是一个纯粹的复制品。我写了一个关于python中整数和浮点数如何不同的答案的一半,这就是为什么我们用浮点值而不是整数来获得这种行为。
-
@Baldrickk 它仍然是重复的 - 它不总是对 int 在 CPython 中工作相同的原因在接受中进行了解释重复的答案。
标签: python python-3.x operators