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

扣丁學(xué)堂Python培訓(xùn)之詳情深拷貝與淺拷貝的區(qū)別

2019-03-28 16:21:36 2316瀏覽

今天扣丁學(xué)堂Python培訓(xùn)老師給大家分享一篇關(guān)于python中淺拷貝和深拷貝的區(qū)別,希望對(duì)同門學(xué)習(xí)Python開(kāi)發(fā)有所幫助,下面我們一起來(lái)看一下吧。



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

2、copy.deepcopy深拷貝拷貝對(duì)象及其子對(duì)象

如果拷貝對(duì)象是一個(gè)一維列表,那么淺拷貝和深拷貝沒(méi)什么不同,都是重新申請(qǐng)一個(gè)新的內(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的改變不會(huì)影響到list2與list3。但是對(duì)于復(fù)雜一些的列表,例如嵌套列表、字典嵌套列表。淺拷貝與深拷貝兩者便展示出完全不同的結(jié)果。

    import copy

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

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

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

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

以上就是關(guān)于扣丁學(xué)堂Python培訓(xùn)之詳情深拷貝與淺拷貝區(qū)別的詳細(xì)介紹,想要了解更多關(guān)于Python開(kāi)發(fā)方面內(nèi)容的小伙伴,請(qǐng)關(guān)注扣丁學(xué)堂Python培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育有專業(yè)的Python講師為您指導(dǎo),此外扣丁學(xué)堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開(kāi)發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂Python技術(shù)交流群:279521237。


扣丁學(xué)堂微信公眾號(hào)                          Python全棧開(kāi)發(fā)爬蟲(chóng)人工智能機(jī)器學(xué)習(xí)數(shù)據(jù)分析免費(fèi)公開(kāi)課直播間


【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】         【掃碼進(jìn)入Python全棧開(kāi)發(fā)免費(fèi)公開(kāi)課】



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

標(biāo)簽: Python培訓(xùn) Python視頻教程 Python在線視頻 Python學(xué)習(xí)視頻 Python培訓(xùn)班

熱門專區(qū)

暫無(wú)熱門資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

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