有人可以解释下列情况吗?
在我遇到的情况下,我想到了一些相反的事情。对于小对象,例如1,python可以为不同的引用分配新对象。但是对于大型对象,例如10000 ......,python可以继续重用相同的内存。但我在这里的情况清楚地表明了相反的情况。
在案例II中,'a'和'b'都指大型物体。如果情况我有道理,为什么将一个元组分配给'a'和'b'最终会得到'a'和'b'具有相同的id?
案例I
>>> a = 1
>>> b = 1
>>> id(a), id(b)
(140293399709656, 140293399709656)
>>> a = 100000000000000000
>>> b = 100000000000000000
>>> id(a), id(b)
(140293400116296, 140293400116344)
案例II
>>> a = 100000000000000000
>>> b = 100000000000000000
>>> id(a), id(b)
(140293400116296, 140293400116344)
>>> a, b = 100000000000000000, 100000000000000000
>>> id(a), id(b)
(140293400116320, 140293400116320)