# 深淺拷貝
* 定義
1. 淺拷貝:
拷貝了最外層的物件,內部的元素只拷貝了乙個引用
2. 深拷貝:
外層的物件和內部的元素都拷貝(賦值)了一遍
* 術語:
1. 變數:是乙個系統表的元素,擁有指向物件的連線空間
2. 物件:會在記憶體中占用一塊空間
3. 引用:是自動形成的從變數到物件的指標(首位址,引用)
4. 型別:物件型別(str,float,int)
5. 不可變物件:int,float,bool,tuple,str,frozenset
6. 可變型別:list,set,dict
* 應用範圍:
1. 切片(分片)
l=[1,2,3]
l2=l[:] # 淺拷貝
2. copy()
l2=l.copy() # 淺拷貝
3. 深拷貝
資料備份(資料容災)
山(電磁波,輻射,電子風暴,戰爭破壞)
### 對於不可變型別的深淺拷貝:
### 可變型別的深淺拷貝:
* 總結
1. 深拷貝都是對源物件的賦值(深層物件),占用的記憶體空間不同
2. 淺拷貝:對最外層物件進行拷貝,占用的記憶體空間相同
3. 不可變型別物件,對於深淺拷貝沒有影響,最終的位址都是一樣
4. 可變型別:
=:拷貝位址
list.copy():淺拷貝
分片:淺拷貝
import copy
copy.deepcopy():深拷貝
5. 淺拷貝:節省資源和記憶體空間
6. 深拷貝:資料拷貝更加安全(容災特性)
python中深淺拷貝
先弄懂下面概念 變數 引用 物件 可變物件,不可變物件 切片 拷貝 淺拷貝,深拷貝 變數是乙個系統表的元素,擁有指向物件的鏈結的空間 物件是被分配的一塊記憶體,儲存其所代表的值 引用是自動形成的從變數到物件的指標 在python中不可變物件知 一旦建立就不可修改物件,包括字元創,元組,數字 在pyt...
Python 中的深淺拷貝
python 中的物件之間賦值時,時按照引用傳遞,如果需要拷貝物件 需要使用標準庫中的copy模組 1.copy.copy淺拷貝 只拷貝父物件,不會拷貝物件的內部的子物件 2.copy.deepcopy深拷貝 拷貝物件及其子物件 示例 encoding utf 8 import copy a 1,2...
Python中的深淺拷貝
1.在了解深淺拷貝之前,我們先明確python中的可變與不可變 int str float tuple bool list set dict2.淺拷貝copy.copy lst0 0 1,1,2,3 lst5 lst0.copy 0,1 1,2,3 lst0 lst5 true lst0 2 1 4...