91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python深copy和淺copy區別對比解析

發布時間:2020-09-11 08:30:22 來源:腳本之家 閱讀:144 作者:鵠望 欄目:開發技術

這篇文章主要介紹了python深copy和淺copy區別對比解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

首先先看一段代碼

import copy
 
a = [1, 2, 3, [4]]
b = a
c = a.copy()
d = copy.deepcopy(a)
e = copy.copy(a)
a.append(4)
a[3].append(5)
print('a值為 {} 地址為 {}'.format(a, id(a)))
print('b值為 {} 地址為 {}'.format(b, id(b)))
print('c值為 {}  地址為 {}'.format(c, id(c)))
print('d值為 {}    地址為 {}'.format(d, id(d)))
print('e值為 {}  地址為 {}'.format(e, id(e)))

執行結果:

a值為 [1, 2, 3, [4, 5], 4] 地址為 4555940360
b值為 [1, 2, 3, [4, 5], 4] 地址為 4555940360
c值為 [1, 2, 3, [4, 5]]  地址為 4555873544
d值為 [1, 2, 3, [4]]    地址為 4556227912
e值為 [1, 2, 3, [4, 5]]  地址為 4556227464

從結果中可以看出來:

b賦值的為a的內存地址,值會隨著a的變化而變化---直接賦值,對象引用

c=a.copy()使用的為python自帶的copy方法,從結果中可看出復制后c的地址與a的地址不一致,也就是c將a的值完全復制包括地址,其結果就是c的值不會隨著a的值變化而變化---深copy,完全拷貝了父對象及其子對象

d和e使用的是python自帶的copy模塊中的copy方法和deepcopy方法:

  其中d的值地址和a不一致,值也不會隨著a的變化而變化---深copy,完全拷貝了父對象及其子對象

其中e中父級內容不隨著a的變化而變化,但e中子list中內容會隨著a的變化而變化---淺copy,拷貝父對象,不會拷貝對象的內部的子對象

print('a子對象值為 {} 地址為 {}'.format(a[3], id(a[3])))
print('e子對象值為 {} 地址為 {}'.format(a[3], id(a[3])))
結果:
a子對象值為 [4, 5] 地址為 4334486344
e子對象值為 [4, 5] 地址為 4334486344

由上可得出,python中的copy分為三種:

1、直接復制:也就是對象引用

2、淺拷貝:拷貝父對象,不會拷貝對象的內部的子對象。

3、深拷貝:完全拷貝了父對象及其子對象

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普安县| 南乐县| 买车| 英超| 运城市| 静乐县| 泌阳县| 宕昌县| 南投县| 元江| 福泉市| 双城市| 云安县| 高要市| 潞城市| 台东县| 西吉县| 易门县| 贵溪市| 海晏县| 龙胜| 南宁市| 云浮市| 肇庆市| 通河县| 虹口区| 莆田市| 祁连县| 砚山县| 噶尔县| 栾川县| 霍邱县| 凭祥市| 澄迈县| 兰溪市| 华蓥市| 芦溪县| 邢台市| 阿坝县| 涞源县| 衢州市|