我試圖理解(在原則層面上)之間的分配(說)整數變量和列表變量之間的差異。Python和任務
整數情況下:
a=6
b=a
print(b) #prints 6
a=7
print(b) #prints 6
有道理到我這個邏輯:在原B = A,B被賦予相同的值作爲(6),未鑑定用。所以如果我改變a的值,b的值不會改變:b與a不同。
列表的情況下:
L=[1,2]
M = L
print(M)
L.append(6)
print(M)
這可以使感與此邏輯:以M = L我迫使M至字面上是相同的對象作爲L是,我與L.識別它所以如果L改變,那麼M也是如此。對我來說,沒有任何意義的是爲什麼我在不同的情況下需要不同的邏輯。 (可能這與整數是「不可變的」,並列出「可變的」,但我不明白這是怎麼回事。)有人能指出我的解釋嗎?行爲差異背後的原則是什麼? (我對於整數和列表的實現技術差異如何導致差異沒有太多的瞭解,但是因爲這樣設計的東西是什麼邏輯呢?)