新聞中心
淺拷貝

站在用戶的角度思考問題,與客戶深入溝通,找到柳州網(wǎng)站設(shè)計(jì)與柳州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋柳州地區(qū)。
copy模塊里面的copy方法實(shí)現(xiàn)。淺拷貝后,改變?cè)紝?duì)象中為可變類型的元素的值,會(huì)同時(shí)影響拷貝對(duì)象;改變?cè)紝?duì)象中為不可變類型的元素的值,不會(huì)響拷貝對(duì)象。
python學(xué)習(xí)網(wǎng),大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!
代碼演示
import copy #定義一個(gè)列表,其中第一個(gè)元素是可變類型。 list1 = [[1,2], 'fei', 66]; #進(jìn)行淺copy list2 = copy.copy(list1); #對(duì)象地址是否相同。 print(id(list1)); print(id(list2)); #結(jié)果:不同 46177816 46177936 #第一個(gè)元素地址是否相同。 print(id(list1[0])); print(id(list2[0])); #結(jié)果:相同 46240432 46240432 #第二個(gè)元素地址是否相同。 print(id(list1[1])); print(id(list2[1])); #結(jié)果:相同 45547328 45547328 #改變第一個(gè)值,查看復(fù)制對(duì)象變化。 list1[0][0] = 2; print(list2); #結(jié)果:復(fù)制對(duì)象發(fā)生變化 [[2, 2], 'fei', 66] #改變第二個(gè)值,查看復(fù)制對(duì)象變化。 list1[1] = 'ge'; print(list2); #結(jié)果:復(fù)制對(duì)象沒發(fā)生變了 [[2, 2], 'fei', 66]
相關(guān)推薦:《Python教程》
深拷貝
copy模塊里面的deepcopy方法實(shí)現(xiàn)。深拷貝,除了頂層拷貝,還對(duì)子元素也進(jìn)行了拷貝。經(jīng)過深拷貝后,原始對(duì)象和拷貝對(duì)象所有的可變?cè)氐刂范紱]有相同的了。
代碼演示
import copy #定義一個(gè)列表,其中第一個(gè)元素是可變類型。 list1 = [[1,2], 'fei', 66]; #進(jìn)行深copy list2 = copy.copy(list1); #對(duì)象地址是否相同。 print(id(list1)); print(id(list2)); #結(jié)果:不同 46177816 46177936 #第一個(gè)元素地址是否相同。 print(id(list1[0])); print(id(list2[0])); #結(jié)果:不同 49123856 49588784 #第二個(gè)元素地址是否相同。 print(id(list1[1])); print(id(list2[1])); #結(jié)果:相同 45547328 45547328 #改變第一個(gè)值,查看復(fù)制對(duì)象變化。 list1[0][0] = 2; print(list2); #結(jié)果:復(fù)制對(duì)象沒發(fā)生變了 [[1, 2], 'fei', 66] #改變第二個(gè)值,查看復(fù)制對(duì)象變化。 list1[1] = 'ge'; print(list2); #結(jié)果:復(fù)制對(duì)象沒發(fā)生變了 [[1, 2], 'fei', 66]
文章題目:創(chuàng)新互聯(lián)Python教程:python深拷貝和淺拷貝的區(qū)別是什么
文章URL:http://fisionsoft.com.cn/article/dhjoiid.html


咨詢
建站咨詢
