相同的位置内存,但结果为假(python)



我只是对python中的身份运算符感到困惑,如何使用它以及身份运算符如何工作,我给你举个例子:

var_1 = 10
print (id(var_1) is id(var_1))

结果是"假",不知道为什么会这样,有人可以用简单的方式解释?并解释id((函数的工作原理。

谢谢

您对id()的使用是多余的,is运算符将两个对象并比较它们的地址,当您id(var_1)创建一个具有var_1id值的无名变量时,然后您创建另一个无名变量,它将具有相同的值,但它不会相同id您可以通过打印id(id(var_1)并看到它每次都不同来检查这一点:

var_1 = 10
print id(id(var_1))
#18438008
print id(id(var_1))
#18438032
print id(id(var_1))
#18438056

如果你想查看一个对象是否相同,你需要执行id(var_1) == id(var_2)或按照建议:var_1 is var_2

最新更新