Python高階 深淺拷貝

2021-09-27 11:40:54 字數 558 閱讀 6456

python高階——深淺拷貝

深淺拷貝

1、深拷貝:

深拷貝就是將所有的都進行拷貝,包括內層,深拷貝屬於遞迴拷貝,很是耗費記憶體。

2、淺拷貝:

淺拷貝就是只拷貝最外面一層,子物件會受到原始資料的影響,但是前拷貝節約記憶體,浪費少。

3、物件的拷貝:

引用傳遞不是拷貝,引用傳遞是位址的拷貝。

4、拷貝格式:

匯入模組: import copy

copy.copy                   #淺拷貝,僅拷貝第一層物件。

copy.deepcopy          #深拷貝,會進行遞迴拷貝。

通過上圖我們可以看出,b是淺拷貝,只拷貝了a的最外層,當在a列表的內層列表裡進行操作時,經過淺拷貝的列表內層也發生了改變,但是外層沒有變化。c是經過了深拷貝,從圖中就可以看出無論操作列表a的內層還是外層,c都不發生改變。

python高階 深淺拷貝

is與的區別 在講is和這兩種運算子區別之前,首先要知道python中物件包含的三個基本要素,分別是 id 身份標識 type 資料型別 和value 值 is和 都是對物件進行比較判斷作用的,但對物件比較判斷的內容並不相同。下面來看看具體區別在哪。比較操作符和is同一性運算子區別 是python標...

Python高階 深淺拷貝

定義 對於乙個物件的頂層拷貝 拷貝引用,不拷貝資料 對於 不可 變型別 number string tuple,淺複製僅僅是位址指向,不會開闢新空間 對於 可 變型別 list dictionary set,淺複製會開闢新的空間位址 僅僅是最頂層開闢了新的空間,裡層的元素位址還是一樣的 進行淺拷貝 ...

python高階 深淺拷貝 16

淺拷貝是對乙個物件的頂層拷貝,通俗地講就是 拷貝了引用,並沒有拷貝內容。a 1,2,3 print id a b aprint b print id b print a print b 執行結果為 1965053928072 1,2,3 1965053928072 1,2,3,4 1,2,3,4 深...