淺拷貝的特點:
公用乙個值;
這兩個變數的記憶體位址一樣;
對其中乙個變數的值改變,另外乙個變數的值也會改變;
例如:>>> a = [11,22,33,44]
>>> b =a
>>> id(a)
>>> 4327773384
>>> id(b)
>>> 4327773384
>>> a
>>>[11,22,33,44,55]
>>>b
>>>[11,22,33,44,55]
定義:乙個變數對另外乙個變數的值拷貝。
深拷貝的特點:
兩個變數的記憶體位址不同;
兩個變數各有自己的值,且互不影響;
對其任意乙個變數的值的改變不會影響另外乙個
>>> import copy
>>> a=[11,22,33]
>>> b=copy.deepcopy(a)
>>> a
[11, 22, 33]
>>> b
[11, 22, 33]
>>> id(a)
>>> id(b)
>>> a
[11, 22, 33, 44]
>>> b
[11, 22, 33]
>>>
**: python 淺拷貝 深拷貝
直接賦值 其實就是物件的引用 別名 淺拷貝 copy 拷貝父物件,不會拷貝物件的內部的子物件。深拷貝 deepcopy copy 模組的 deepcopy 方法,完全拷貝了父物件及其子物件。usr bin python import copy a 1,2,3,4,a b 原始物件 b a 賦值,傳物...
python深拷貝 淺拷貝
在python中,物件賦值實際上是物件的引用。當建立乙個物件,然後把它賦給另乙個變數的時候,python並沒有拷貝這個物件,而只是拷貝了這個物件的引用 一般有三種方法,alist 1,2,3,a b 1 直接賦值,傳遞物件的引用而已,原始列表改變,被賦值的b也會做相同的改變 alist 1,2,3,...
python 深拷貝 淺拷貝
淺拷貝是對於乙個物件的頂層拷貝 通俗的理解是 拷貝了引用,並沒有拷貝內容 深拷貝是對於乙個物件所有層次的拷貝 遞迴 拷貝字典 值相當於鍵的引用 所以copy.copy 為淺拷貝 淺拷貝對不可變型別和可變型別的copy不同 copy.copy對於可變型別,會進行淺拷貝 copy.copy對於不可變型別...