python“是”对某些可变对象来说是令人困惑的

问题描述

这是我第一次问一个问题。对于因无知而可能犯的任何错误,我事先表示歉意;

这是我的问题: 为什么当它们似乎指向相同的内存位置时,如果使用“ is”等效于可变对象,我为什么会得到“ False”?

>>> 1 is 1
True
>>> "a" is "a"
True
>>> 'b' is 'b'
True
>>> () is ()
True
>>> [] is []
False
>>> {} is {}
False
>>> print(id({}),id({}))
(140262895310280,140262895310280)
>>> print(id([]),id([]))
(140262895262032,140262895262032)
>>> print(id(()),id(()))
(140262896386128,140262896386128)```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)