目錄
區別
- 高級語言中變量是對內存及其地址的抽象
- copy.copy(object), 拷貝的是內嵌套結構的地址引用,當前到結構發生變化的時候,淺拷貝也相應的改變。
- copy.deepcopy(object),完全復制與變量相關的數據,而不再考慮嵌套結構
python代碼舉例
import copy
x = [1,2]
y = [3,2,x]
>>>y=[3,2,[1,2]]
z = copy.copy(y)
zz = copy.deepcopy(y)
y.append(10)
>>>y=[3,2,[1,2],10] 這里y增加了一個元素
>>>z=[3,2,[1,2]]但是z沒有
x.append(10)
>>>z=[3,2,[1,2,10]]z增加了一個元素
>>>zz=[3,2,[1,2]]但是deepcopy的z