真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python-copy()與deepcopy()區(qū)別詳解-創(chuàng)新互聯(lián)

最近在實習,boss給布置了一個python的小任務(wù),學習過程中發(fā)現(xiàn)copy()和deepcopy()這對好基友實在是有點過分,搞的博主就有點傻傻分不清啊,但是呢本著一探到底的精神,還是要查資料搞清楚這對好基友的區(qū)別。

成都創(chuàng)新互聯(lián)專注于臨安企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),電子商務(wù)商城網(wǎng)站建設(shè)。臨安網(wǎng)站建設(shè)公司,為臨安等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

其實呢,copy()與deepcopy()之間的區(qū)分必須要涉及到python對于數(shù)據(jù)的存儲方式。

首先直接上結(jié)論:

—–我們尋常意義的復(fù)制就是深復(fù)制,即將被復(fù)制對象完全再復(fù)制一遍作為獨立的新個體單獨存在。所以改變原有被復(fù)制對象不會對已經(jīng)復(fù)制出來的新對象產(chǎn)生影響。

—–而淺復(fù)制并不會產(chǎn)生一個獨立的對象單獨存在,他只是將原有的數(shù)據(jù)塊打上一個新標簽,所以當其中一個標簽被改變的時候,數(shù)據(jù)塊就會發(fā)生變化,另一個標簽也會隨之改變。這就和我們尋常意義上的復(fù)制有所不同了。

對于簡單的 object,用 shallow copy 和 deep copy 沒區(qū)別

復(fù)雜的 object, 如 list 中套著 list 的情況,shallow copy 中的 子list,并未從原 object 真的「獨立」出來。也就是說,如果你改變原 object 的子 list 中的一個元素,你的 copy 就會跟著一起變。這跟我們直覺上對「復(fù)制」的理解不同。

看不懂文字沒關(guān)系我們來看代碼:

>>> import copy
>>> origin = [1, 2, [3, 4]]
#origin 里邊有三個元素:1, 2,[3, 4]
>>> cop1 = copy.copy(origin)
>>> cop2 = copy.deepcopy(origin)
>>> cop1 == cop2
True
>>> cop1 is cop2
False 
#cop1 和 cop2 看上去相同,但已不再是同一個object
>>> origin[2][0] = "hey!" 
>>> origin
[1, 2, ['hey!', 4]]
>>> cop1
[1, 2, ['hey!', 4]]
>>> cop2
[1, 2, [3, 4]]
#把origin內(nèi)的子list [3, 4] 改掉了一個元素,觀察 cop1 和 cop2

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


標題名稱:Python-copy()與deepcopy()區(qū)別詳解-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/dheicc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部