欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學堂Python培訓簡述Python深拷貝與淺拷貝的區(qū)別

2019-03-29 14:47:44 2284瀏覽

本篇文章扣丁學堂Python培訓小編給大家分享一下Python深拷貝與淺拷貝的區(qū)別,對Python開發(fā)技術(shù)感興趣的小伙伴就隨小編來看一下吧。


扣丁學堂Python培訓簡述Python深拷貝與淺拷貝的區(qū)別


python中淺拷貝和深拷貝的區(qū)別如下:


1、copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內(nèi)部的子對象。

2、copy.deepcopy 深拷貝 拷貝對象及其子對象



如果拷貝對象是一個一維列表,那么淺拷貝和深拷貝沒什么不同,都是重新申請一個新的內(nèi)存地址。



import copy

list1 = [1,2,3,4]
print(id(list1))
list2 = list1.copy()
print(list2)
print(id(list2))
print(list1 is list2)
list3 = copy.deepcopy(list1)
print(list3)
print(id(list3))
print(list1 is list3)
96011592
[1, 2, 3, 4]
95979528
False
[1, 2, 3, 4]
31271112
False



因此,list1的改變不會影響到list2與list3。但是對于復(fù)雜一些的列表,例如嵌套列表、字典嵌套列表。淺拷貝與深拷貝兩者便展示出完全不同的結(jié)果。


 import copy

list1 = [1,2,3,4,[5,6]]
print('list1的id:',id(list1))
print('list1第4個元素的id:',id(list1[4]))
#淺拷貝
list2 = list1.copy()
print(list2)
print('list2的id:',id(list2))
print('list2第4個元素的id:',id(list2[4]))
#深拷貝
list3 = copy.deepcopy(list1)
print(list3)
print('list3的id:',id(list3))
print('list3第4個元素的id:',id(list3[4]))
#改變list1中的元素
list1[2] = 7
list1[4][1] = 8
print('list1:',list1)
print('list2:',list2)
print('list3:',list3)
#運行結(jié)果
list1的id: 95979528
list1第4個元素的id: 96011592

[1, 2, 3, 4, [5, 6]]
list2的id: 40773832
list2第4個元素的id: 96011592 #子對象的id值一樣,表示淺拷貝沒有拷貝對象,只是使用了列表的引用

[1, 2, 3, 4, [5, 6]]
list3的id: 96023432
list3第4個元素的id: 40773704

list1: [1, 2, 7, 4, [5, 8]]
list2: [1, 2, 3, 4, [5, 8]] #父對象不變,子對象變
list3: [1, 2, 3, 4, [5, 6]] #父子對象都不改變




以上可以說明淺拷貝與深拷貝的區(qū)別。想要了解更多關(guān)于Python和人工智能方面內(nèi)容的小伙伴,請關(guān)注扣丁學堂Python培訓官網(wǎng)、微信等平臺,扣丁學堂IT職業(yè)在線學習教育平臺為您提供權(quán)威的Python開發(fā)環(huán)境搭建視頻,Python培訓后的前景無限,行業(yè)薪資和未來的發(fā)展會越來越好的,扣丁學堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開發(fā)實戰(zhàn)技能??鄱W堂Python技術(shù)交流群:279521237。


扣丁學堂微信公眾號                          Python全棧開發(fā)爬蟲人工智能機器學習數(shù)據(jù)分析免費公開課直播間


【關(guān)注微信公眾號獲取更多學習資料】         【掃碼進入Python全棧開發(fā)免費公開課】



查看更多關(guān)于"Python開發(fā)資訊"的相關(guān)文章>




標簽: Python培訓 Python視頻教程 Python在線視頻 Python學習視頻 Python培訓班

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部