copy模組用於物件的拷貝操作,該模組提供了兩種主要的方法:copy.copy與copy.deepcopy,分別表示淺拷貝和深拷貝。
二者的區別 深拷貝就是將乙個物件拷貝到另乙個物件中,這意味著如果你對乙個物件的拷貝做出改變時,不會影響原物件。在python中,我們使用函式deepcopy()執行深拷貝,而淺拷貝則是將乙個物件的引用拷貝到另乙個物件上,所以如果我們在拷貝中改動,會影響到原物件。我們使用函式function()執行淺拷貝
淺拷貝淺拷貝即不管是多麼複雜的資料結構,淺拷貝只會拷貝第一層,也就是對於乙個物件的頂層的拷貝,通俗的理解就是只拷貝了引用,並沒有拷貝內容
import copy
a = [1,2]
b = copy.copy(a)
深拷貝
深拷貝則會完全複製原變數的所有資料(遞迴性質的拷貝),在記憶體中生成一套完全一樣的內容,如果對這兩個變數的其中乙個進行修改另乙個並不會改變
import copy
a = [1,2]
b = copy.deepcopy(a)
Python 淺拷貝與深拷貝
淺拷貝 構造方法或切片 做的是淺拷貝 即拷貝了最外層容器,副本中的元素是原容器中元素的引用 在 python 中,通過乙個物件向另外乙個物件賦值,實際僅僅是賦值了物件的引用,而非建立乙個物件並賦值。那如何真正拷貝物件呢?我們看一下兩種不同的拷貝方式。先從乙個示例看起 anndy anndy age ...
Python 淺拷貝與深拷貝
以下例項是使用 copy 模組的 copy.copy 淺拷貝 和 copy.deepcopy usr bin python coding utf 8 import copy a 1,2,3,4,a b 原始物件 b a 賦值,傳物件的引用 c copy.copy a 物件拷貝,淺拷貝 d copy....
python 深拷貝與淺拷貝
當乙個變數 的時候,約定為 指向位址的過程 如果copy.copy 拷貝的是元組,那麼它不會進行淺拷貝,僅僅是指向 因為元組是不可變資料型別,那麼意味著資料一定不能修改,因此用copy.copy的 時候它會自動判斷,是指向。如果,用copy.copy copy.deepcopy 對乙個全部是不可變型...