新聞中心
python中淺拷貝是對(duì)一個(gè)對(duì)象最頂層的拷貝。 淺拷貝對(duì)可變數(shù)據(jù)類型會(huì)拷貝這個(gè)對(duì)象的引用;對(duì)于不可變數(shù)據(jù)類型進(jìn)行對(duì)象資源的拷貝,即只拷貝對(duì)象的數(shù)據(jù)內(nèi)容和父對(duì)象,不拷貝對(duì)象內(nèi)部的子對(duì)象。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、固陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為固陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
在python中,對(duì)象賦值實(shí)際上是對(duì)象的引用。當(dāng)創(chuàng)建一個(gè)對(duì)象,然后把它賦給另一個(gè)變量的時(shí)候,python并沒有拷貝這個(gè)對(duì)象,而只是拷貝了這個(gè)對(duì)象的引用。
淺拷貝(copy):
淺拷貝是對(duì)一個(gè)對(duì)象最頂層的拷貝,拷貝引用。 淺拷貝對(duì)可變類型會(huì)進(jìn)行淺拷貝(拷貝一個(gè)對(duì)象的引用)。
對(duì)于不可變數(shù)據(jù)類型進(jìn)行對(duì)象資源的拷貝,只拷貝對(duì)象的數(shù)據(jù)內(nèi)容??截惛笇?duì)象,不拷貝對(duì)象內(nèi)部的子對(duì)象。
>>> 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']] 里面的子對(duì)象被改變了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入門與進(jìn)階教學(xué)視頻(極客學(xué)院)
本文標(biāo)題:創(chuàng)新互聯(lián)Python教程:python中什么是淺拷貝
當(dāng)前URL:http://www.dlmjj.cn/article/dhhjpcd.html


咨詢
建站咨詢

