一、賦值:
在 Python 中,對象的賦值就是簡單的對象引用,這點和 C++不同
二、淺拷貝(shallow copy):
淺拷貝會創建新對象,其內容非原對象本身的引用,而是原對象內第一層對象的引用。淺拷貝有三種形式:切片操作、工廠函數、copy 模塊中的 copy 函數。
三、深拷貝(deep copy):
深拷貝只有一種形式,copy 模塊中的 deepcopy()函數。深拷貝和淺拷貝對應,深拷貝拷貝了對象的所有元素,包括多層嵌套的元素。因此,它的時間和空間開銷要高。
四、拷貝的注意點:
1、對於非容器類型,如數字、字符,以及其他的“原子”類型,沒有拷貝一說,產生的都是原對象的引用。
2、如果元組變量值包含原子類型對象,即使采用了深拷貝,也只能得到淺拷貝。