Python高階語法 深淺拷貝 總結(4 2 1)

2021-09-26 10:38:08 字數 602 閱讀 8890

任何可變資料型別都牽扯到深淺拷貝

但是元組,常數等,不可變資料型別,無論淺拷貝,深拷貝都是指向

不管如何巢狀,一旦牽扯到可變資料型別,都會有深淺區別

特別注意,元組切片為淺拷貝,反正可變資料型別沒使用deepcopy一律淺拷貝

淺拷貝:

乙個變數名等於另乙個東西就一定是指向,淺拷貝是拷貝頂層的->copy.copy()

深拷貝:

是全部都拷貝copy.deepcopy

# a = 1

# b = a

# print(id(a),id(b))

import copy

a =[11,

22]# c = copy.deepcopy(a)

# print(id(a),id(c))

deftest

(nums):3

)test(a)

print

(a)

test(nums=copy.deepcopy(a)

)print

(a)

個人部落格**

個人github位址

Python高階 深淺拷貝

python高階 深淺拷貝 深淺拷貝 1 深拷貝 深拷貝就是將所有的都進行拷貝,包括內層,深拷貝屬於遞迴拷貝,很是耗費記憶體。2 淺拷貝 淺拷貝就是只拷貝最外面一層,子物件會受到原始資料的影響,但是前拷貝節約記憶體,浪費少。3 物件的拷貝 引用傳遞不是拷貝,引用傳遞是位址的拷貝。4 拷貝格式 匯入模...

python高階 深淺拷貝

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

Python高階 深淺拷貝

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