小編給大家分享一下python中淺拷貝是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)壽縣,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
python中淺拷貝是對一個對象最頂層的拷貝。 淺拷貝對可變數(shù)據(jù)類型會拷貝這個對象的引用;對于不可變數(shù)據(jù)類型進(jìn)行對象資源的拷貝,即只拷貝對象的數(shù)據(jù)內(nèi)容和父對象,不拷貝對象內(nèi)部的子對象。
在python中,對象賦值實際上是對象的引用。當(dāng)創(chuàng)建一個對象,然后把它賦給另一個變量的時候,python并沒有拷貝這個對象,而只是拷貝了這個對象的引用。
淺拷貝(copy):
淺拷貝是對一個對象最頂層的拷貝,拷貝引用。 淺拷貝對可變類型會進(jìn)行淺拷貝(拷貝一個對象的引用)。
對于不可變數(shù)據(jù)類型進(jìn)行對象資源的拷貝,只拷貝對象的數(shù)據(jù)內(nèi)容??截惛笇ο?,不拷貝對象內(nèi)部的子對象。
>>> import copy >>> c=copy.copy(alist) >>> print alist;print c [1, 2, 3, ['a', 'b']] [1, 2, 3, ['a', 'b']] >>> alist.append(5) >>> print alist;print c [1, 2, 3, ['a', 'b'], 5] [1, 2, 3, ['a', 'b']] >>> alist[3]['a', 'b'] >>> alist[3].append('cccc') >>> print alist;print c [1, 2, 3, ['a', 'b', 'cccc'], 5] [1, 2, 3, ['a', 'b', 'cccc']] 里面的子對象被改變了
print("淺拷貝:") import copy b=[1,2,3,4,5] print("id b:",id(b)) h=copy.copy(b) print("id h",id(h)) print(h) h.append(6) print(h) print("id h",id(h)) print(b) #淺拷貝新的列表h改變了,原來的b沒變。 b[1]='n' #列表元素改變后,新的列表也沒變 print(h) 輸出: 淺拷貝: ('id b:', 140165805110552) ('id h', 140165805110480) [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6] ('id h', 140165805110480) [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6]
看完了這篇文章,相信你對python中淺拷貝是什么意思有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前標(biāo)題:python中淺拷貝是什么意思
網(wǎng)頁鏈接:http://aaarwkj.com/article14/gghige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站建設(shè)、軟件開發(fā)、移動網(wǎng)站建設(shè)、小程序開發(fā)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)