pyhon的淺拷貝與深拷貝

2022-08-01 01:27:13 字數 257 閱讀 3953

1、賦值:簡單地拷貝物件的引用,兩個物件的id相同。

2、淺拷貝:建立乙個新的組合物件,這個新物件與原物件共享記憶體中的子物件。

3、深拷貝:建立乙個新的組合物件,同時遞迴地拷貝所有子物件,新的組合物件與原物件沒有任何關聯。雖然實際上會共享不可變的子物件,但不影響它們的相互獨立性。

淺拷貝和深拷貝的不同僅僅是對組合物件來說,所謂的組合物件就是包含了其它物件的物件,如列表,類例項。而對於數字、字串以及其它「原子」型別,沒有拷貝一說,產生的都是原物件的引用。

「淺拷貝」與「深拷貝」

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

淺拷貝與深拷貝

淺拷貝 1 2 myclass a,b a b 為了封裝性和解耦,同型別的兩個物件之間進行賦值操作時,所有成員變數被複製,包括私有成員 指標變數。類的成員函式在傳遞或返回物件時都會進行物件複製產生臨時物件,比如函式呼叫時實參變為形參,以及函式返回物件。考慮到效能和使用者要求不同,編譯器不複製物件內部...

「淺拷貝」與「深拷貝」

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