欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python中的深拷貝和淺拷貝

系統 2075 0

一、賦值

1、在python中,對象的賦值就是簡單的引用,a = [1,2,3], b=a,在上述情況下,a和b是一樣的,他們指向同一片內存,b不過是a的別名,是引用,我們可以使用b is a去判斷,返回True,表名他們地址相同內容也相同,也可以使用id()函數來查看.看兩個列表地址是否相同。
2、賦值操作(包括對象作為參數、返回值),不會開辟新的內存空間,他只是賦值了對象的引用.也就是除了b這個名字之外,沒有其他的內存開銷,修改了a也就影響了b,修改了b,也就影響了a。

Python中的深拷貝和淺拷貝_第1張圖片
二、淺拷貝(shallowcopy)

淺拷貝會創建新的對象,其內容非原對象本身的引用,而是原對象內第一層對象的引用。

淺拷貝有三種形式:

切片操作 :b = a[:]或者b = [x for x in a]
Python中的深拷貝和淺拷貝_第2張圖片 Python中的深拷貝和淺拷貝_第3張圖片

工廠函數 :b = list(a);
Python中的深拷貝和淺拷貝_第4張圖片
copy函數 :b = copy.copy(a)
Python中的深拷貝和淺拷貝_第5張圖片
淺拷貝產生的列表b不再是列表a了,使用is判斷可以發現他們不是同一個對象,使用id查看,他們也不指向同一片內存空間,但是當我們使用id(x)for x in a 和id(x) for x in b 來查看a和b中元素地址時,可以看到二者包含的元素的地址時相同的。

在這種情況下列表a 和列表b是不同的對象,修改b理論上不會影響到列表a。

但是要注意的是淺拷貝之所以只拷貝了一層,在列表a中有一個嵌套的list,如果我們修改了它,情況就不一樣了,比如:a[3].append(“4”),查看列表b也發生了變化,這是因為我們修改了嵌套的list,修改外層元素,會修改它的引用,讓他指向別的位置,修改嵌套列表中的元素,地址未發生變化,指向的都是用一個位置。

三、深拷貝(deepcopy)

深拷貝只是一種形式,copy模塊中的deepcoopy()函數,深拷貝拷貝了對象的所有元素,包括多層嵌套的元素,因此他的時間和空間開銷要高。
同樣的對列表a,如果使用b= copy.deepcopy(a),再修改列表b也不會影響到列表a,即使嵌套的列表具有更深的層次,也不會產生任何影響,因為深拷貝拷貝出來的對象根本就是一個全新的對象,不再與原來的對象有任何的聯系。
Python中的深拷貝和淺拷貝_第6張圖片

四、拷貝的注意點

對于非容器類型,如數字,字符,以及其他的’’原子’’類型,沒有拷貝一說,產生的都是原對象的引用。
Python中的深拷貝和淺拷貝_第7張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品一区二区三区中文字幕 | 免费看av的网址 | 水野朝阳128部合集在线 | 超碰97免费观看 | www.777色| 毛片在线视频观看 | 五月色电影 | 亚洲视频www | 亚洲 欧美 校园 | 国产精选91热在线观看 | 午夜在线免费观看 | 色片免费在线观看 | 欧美鲁 | 亚洲免费人成在线视频观看 | 久久天堂av | 国产喷水视频 | 国产97色在线 | 日韩 | 日操 | 亚洲爽 | av天空 | 亚洲日韩中文字幕天堂不卡 | 特黄特色大片免费高清视频 | 色婷婷六月丁香在线观看 | 欧美一区二区三区在线观看视频 | 亚洲婷婷在线 | 国产一区二区三区免费观看 | 午夜在线观看cao | 韩国久久久久无码国产精品 | 日本精品一二三区 | 国产精品玖玖玖在线观看 | 久久精品国产线看观看亚洲 | 丝袜捆绑调教视频免费区 | 久久er精品视频 | 日韩a无吗一区二区三区 | 欧美狠狠操 | 91短视频app下载 | 天天草天天干 | 国产亚洲精品久久一区二区三区 | 色综合小说网 | 国产一区在线看 | 奶子吧naiziba.cc免费午夜片在线观看 |