1. 程式人生 > >python深拷貝與淺拷貝,is與==的區別,copy()與deepcopy()

python深拷貝與淺拷貝,is與==的區別,copy()與deepcopy()

1.is與==的區別

is是比較兩個引用是否指向了同一個物件

==是比較兩個物件值是否相等

2.深拷貝與淺拷貝

淺拷貝:對物件的頂層拷貝,可以理解為增加了一個引用,沒有拷貝內容,即沒有新生成拷貝的記憶體空間,兩個指的是同一塊 

深拷貝:對一個物件所有層次的拷貝, 相當於新增加了一塊記憶體,把物件所有內容複製一遍

深入一點理解:

3.copy與deepcopy

等號=預設為淺拷貝

copy預設為淺拷貝,但是它對不可變和可變型別的copy不同

deepcopy是深拷貝,需要import copy