这个问题是由这个 问题引起的,我误读并提供了一个拙劣的答案(我删除了它)
我重新阅读了http://docs.python.org/library/functions.html#id并在 Python 中尝试了这个:
>>> a = 3
>>> id(a)
5392456
>>> a = 3
>>> id(a)
5392456
又重复了几遍……
这些数字(即内存中对象的地址)相同的事实取决于实现,并且不能保证,这是正确的吗?他们可能不一样,对吧?我的理解是,每次我做这个简单的赋值时,我都会创建一个新对象并将它绑定到一个变量标识符,所以我不能假设它们会被放在内存中的同一个位置。
这种理解正确吗?如果是这样,是否有任何例外?