圖解Python中的淺拷貝和深拷貝
Python淺拷貝和深拷貝
最直觀的理解就是:
1.深拷貝,拷貝的程度深,自己新開辟了一塊內(nèi)存,將被拷貝內(nèi)容全部拷貝過來了;
2.淺拷貝,拷貝的程度淺,只拷貝原數(shù)據(jù)的首地址,然后通過原數(shù)據(jù)的首地址,去獲取內(nèi)容。
兩者的優(yōu)缺點(diǎn)對比
(1)深拷貝拷貝程度高,將原數(shù)據(jù)復(fù)制到新的內(nèi)存空間中。改變拷貝后的內(nèi)容不影響原數(shù)據(jù)內(nèi)容。但是深拷貝耗時(shí)長,且占用內(nèi)存空間。
(2)淺拷貝拷貝程度低,只復(fù)制原數(shù)據(jù)的地址。其實(shí)是將副本的地址指向原數(shù)據(jù)地址。修改副本內(nèi)容,是通過當(dāng)前地址指向原數(shù)據(jù)地址,去修改。所以修改副本內(nèi)容會影響到原數(shù)據(jù)內(nèi)容。但是淺拷貝耗時(shí)短,占用內(nèi)存空間少。
淺拷貝
有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時(shí)可變數(shù)據(jù)類型,例如:列表、字典

有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時(shí)不可變數(shù)據(jù)類型,例如:元組、字符串

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

深拷貝
有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時(shí)可變數(shù)據(jù)類型,例如:列表、字典

有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時(shí)不可變數(shù)據(jù)類型,例如:元組、字符串

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

由實(shí)驗(yàn)結(jié)果總結(jié)得:
當(dāng)內(nèi)層為可變數(shù)據(jù)類型時(shí),深拷貝后內(nèi)層外層地址均發(fā)生改變。當(dāng)內(nèi)層為不可變數(shù)據(jù)類型時(shí),外層不管是可變還是不可變數(shù)據(jù)類型,使用深拷貝,都不會改變內(nèi)層地址,只會在外層為可變數(shù)據(jù)類型時(shí),改變外層地址。
使用淺拷貝是只能在外層數(shù)據(jù)類型為可變數(shù)據(jù)類型時(shí),才能改變外層地址。而內(nèi)層地址,無論是否為可變數(shù)據(jù)類型還是不可變數(shù)據(jù)類型,使用淺拷貝都不會改變內(nèi)層數(shù)據(jù)類型地址。
到此這篇關(guān)于圖解Python中的淺拷貝和深拷貝的文章就介紹到這了,更多相關(guān)Python淺拷貝和深拷貝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python字典實(shí)現(xiàn)詞頻統(tǒng)計(jì)的方法
在Python中,利用字典進(jìn)行詞頻統(tǒng)計(jì)是一種常見且強(qiáng)大的方式,通過對文本進(jìn)行預(yù)處理并使用字典數(shù)據(jù)結(jié)構(gòu),可以輕松地統(tǒng)計(jì)文本中每個單詞出現(xiàn)的頻率,下面將詳細(xì)解釋這個過程,并提供多種例子,以幫助你更好地理解并應(yīng)用這一技術(shù),需要的朋友可以參考下2023-12-12
Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐
本文主要介紹了Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

