欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中copy和deepcopy的使用區(qū)別

 更新時(shí)間:2024年04月29日 10:04:46   作者:整天夢(mèng)游的小jerry  
本文主要介紹了python中copy和deepcopy的使用區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

python中標(biāo)識(shí)一個(gè)對(duì)象唯一身份的是:對(duì)象的id(內(nèi)存地址),對(duì)象類型,對(duì)象值。

deepcopy是真正意義上的復(fù)制,深拷貝,被復(fù)制對(duì)象完全復(fù)制一遍作為獨(dú)立的新個(gè)體,新開(kāi)辟一塊空間。

淺拷貝,不會(huì)產(chǎn)生獨(dú)立對(duì)象,等于賦值,只是對(duì)原有數(shù)據(jù)塊打上新標(biāo)簽,其中一個(gè)標(biāo)簽改變,數(shù)據(jù)塊就會(huì)變化。淺拷貝等于賦值,也可以通過(guò)copy實(shí)現(xiàn),copy僅拷貝對(duì)象本身,淺拷貝不會(huì)對(duì)其中的子對(duì)象進(jìn)行拷貝,如果對(duì)子對(duì)象進(jìn)行修改,拷貝結(jié)果也會(huì)隨著修改。

  • 復(fù)制的對(duì)象中無(wú)復(fù)雜子對(duì)象,即列表中不嵌套列表,原來(lái)值的改變并不會(huì)影響淺復(fù)制的值,同時(shí)淺復(fù)制的值改變也并不會(huì)影響原來(lái)的值。原來(lái)值的id值與淺復(fù)制原來(lái)的值不同。
  • 復(fù)制的對(duì)象中有復(fù)雜子對(duì)象 (例如列表中的一個(gè)子元素是一個(gè)列表)如果改變復(fù)雜子對(duì)象的值(列表中的值)會(huì)影響淺復(fù)制的值。
import copy
a = [1,2,3,[4,5],1]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)

a.append(9)
a[3].append(6)

print(a) 	#[1, 2, 3, [4, 5, 6], 1, 9]
print(b)	#[1, 2, 3, [4, 5, 6], 1, 9]
print(c)	#[1, 2, 3, [4, 5, 6], 1]
print(d)	#[1, 2, 3, [4, 5], 1]

print(id(a))	#4594148288
print(id(b))	#4594148288
print(id(c))	#4594455328
print(id(d))	#4592688496


x = 'Hello World'
y = x
z = copy.copy(x)
w = copy.deepcopy(x)
print(id(x)) #4617118576
print(id(y)) #4617118576
print(id(z)) #4617118576
print(id(w)) #4617118576

# 對(duì)于不可變類型(元組、數(shù)值,字符串等)為淺拷貝,對(duì)象的id值與淺復(fù)制原來(lái)的值相同
# 對(duì)于可變類型(列表、字典等)為深拷貝,

 到此這篇關(guān)于python中copy和deepcopy的使用區(qū)別的文章就介紹到這了,更多相關(guān)python copy deepcopy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python圖片合成的示例

    python圖片合成的示例

    這篇文章主要介紹了python圖片合成的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • python pyinstaller打包exe報(bào)錯(cuò)的解決方法

    python pyinstaller打包exe報(bào)錯(cuò)的解決方法

    這篇文章主要給大家介紹了關(guān)于python pyinstaller打包exe報(bào)錯(cuò)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Django項(xiàng)目中用JS實(shí)現(xiàn)加載子頁(yè)面并傳值的方法

    Django項(xiàng)目中用JS實(shí)現(xiàn)加載子頁(yè)面并傳值的方法

    今天小編就為大家分享一篇Django項(xiàng)目中用JS實(shí)現(xiàn)加載子頁(yè)面并傳值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • pycharm 如何查看某一函數(shù)源碼的快捷鍵

    pycharm 如何查看某一函數(shù)源碼的快捷鍵

    這篇文章主要介紹了在pycharm中實(shí)現(xiàn)查看某一函數(shù)源碼的快捷鍵,具有很好的參考價(jià)值,希望能給大家做個(gè)參考,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python中Selenium模塊的使用詳解

    Python中Selenium模塊的使用詳解

    這篇文章主要介紹了Python中Selenium模塊的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 拿來(lái)就用!Python批量合并PDF的示例代碼

    拿來(lái)就用!Python批量合并PDF的示例代碼

    這篇文章主要介紹了Python批量合并PDF的示例代碼,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • 使用python快速在局域網(wǎng)內(nèi)搭建http傳輸文件服務(wù)的方法

    使用python快速在局域網(wǎng)內(nèi)搭建http傳輸文件服務(wù)的方法

    這篇文章主要介紹了使用 python快速在局域網(wǎng)內(nèi)搭建http傳輸文件服務(wù),但是這種方法不要傳輸機(jī)密文件,安全性不高,只用到http協(xié)議沒(méi)有使用任何加密協(xié)議,具體實(shí)現(xiàn)方法跟隨小編一起看看吧
    2019-11-11
  • 使用IPython來(lái)操作Docker容器的入門指引

    使用IPython來(lái)操作Docker容器的入門指引

    這篇文章主要介紹了使用IPython來(lái)操作Docker容器的方法,包括一些基本的搭建和連接,主要依靠docker-py模塊,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)簡(jiǎn)單的猜單詞小游戲

    Python實(shí)現(xiàn)簡(jiǎn)單的猜單詞小游戲

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單的猜單詞小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Python3+PyInstall+Sciter解決報(bào)錯(cuò)缺少dll、html等文件問(wèn)題

    Python3+PyInstall+Sciter解決報(bào)錯(cuò)缺少dll、html等文件問(wèn)題

    這篇文章主要介紹了Python3+PyInstall+Sciter解決報(bào)錯(cuò)缺少dll、html等文件問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論