看看这个:
>>> a = 256>>> b = 256>>> id(a)9987148>>> id(b)9987148>>> a = 257>>> b = 257>>> id(a)11662816>>> id(b)11662828
这是我在Python 2文档“ Plain Integer Objects”(对于Python 3中相同)中找到的:
当前的实现为-5到256之间的所有整数保留一个整数对象数组,当您在该范围内创建int时,实际上实际上是返回对现有对象的引用。因此应该可以更改1的值。我怀疑在这种情况下Python的行为是不确定的。



