我在Python交互shell試過一個非常基本的代碼基本列表操作
>>> a=[1,2,3]
>>> id(a)
36194248L
>>> a.append(4)
>>> a
[1, 2, 3, 4]
>>> id(a)
36194248L
>>>
>>> id([1,2,3])
36193288L
>>> id([1,2,3].append(4))
506033800L
>>> id([1,2,3].append(5))
506033800L
>>> id([1,2,3].append(6))
506033800L
問:當我一個列表分配給一個名爲「A」的變量,並嘗試添加更多的價值,該ID()不改變,但如果我嘗試同樣的事情,而不分配給變量,id()changes.Since列表是可變的(即允許在相同的內存地址更改),爲什麼這種行爲是可見的?