淺拷貝 深拷貝

2022-09-03 01:39:10 字數 516 閱讀 5983

1、淺拷貝:使用相同一塊記憶體 ,其中乙個變了,另乙個也會隨著改變

l=[1,2,3,4,5,6]

l2=l

print("l-->",id(l))

print("l2-->",id(l2))

結果:l--> 4326912480

l2--> 4326912480

淺拷貝

l2=l.copy()

l2=copy.copy(l)

l2=l[:]
2、深拷貝(引用import copy模組,copy.deepcopy)

import copy

l=[1,2,3,4,5,6]

l2=l

print("l-->",id(l))

print("l2-->",id(l2))

l2=copy.deepcopy(l)

判斷是否是淺拷貝,記憶體位址沒變一定是淺拷貝,cope方法二維數字變更內容時,被複製的也會變更,而copy.deepcopy不會被修改

淺拷貝 深拷貝

copy mutablecopy copy 不管是可變的,還是不可變的,結果都是不可變的 mutablecopy 不管是不可變的,還是可變的,結果都是可變的 nsmutablestring str nsmutablestring stringwithformat a nsarray arr1 str...

深拷貝 淺拷貝

c 中物件的複製就如同 轉殖 用乙個已有的物件快速地複製出多個完全相同的物件。一般而言,以下三種情況都會使用到物件的複製 1 建立乙個新物件,並用另乙個同類的已有物件對新物件進行初始化,例如 cpp view plain copy class rect rect rect1 rect rect2 r...

淺拷貝 深拷貝

retain是建立乙個指標,引用物件計數加1。copy屬性表示兩個物件內容相同,新的物件retain為1 與舊有物件的引用計數無關,舊有物件沒有變化。copy減少物件對上下文的依賴。retain屬性表示兩個物件位址相同 建立乙個指標,指標拷貝 內容當然相同,這個物件的retain值 1也就是說,re...