为什么Python在控制台中为同一个整数创建不同的对象?

时间:2017-02-08 08:47:09

标签: python

a = 1234
b = 1234
print(id(a), id(b))

在上面的脚本中,两个ID都是相同的。 ab引用同一个对象。在Python控制台中逐个运行命令时,ID是不同的:

>>> a = 1234
>>> b = 1234
>>> print(id(a), id(b))
2445680 6579168

但:

>>> print(id(1234), id(1234))
6579472 6579472

为什么1234在连续命令中是一个不同的对象,而不是在一个命令或脚本中?

我在CPython 3.5.2上测试了这个。

0 个答案:

没有答案