日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python 直接賦值和copy的區別詳解

系統 1775 0

直接賦值和copy的區別:

  • 直接賦值:其實就是對象的引用(別名)。
  • 淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象。
  • 深拷貝(deepcopy): copy 模塊的 deepcopy 方法,完全拷貝了父對象及其子對象。

例子:

            
dict1 = {'user':'runoob','num':[1,2,3]} 
dict2 = dict1       # 淺拷貝: 引用對象
dict3 = dict1.copy()  # 深拷貝:深拷貝父對象(一級目錄),子對象(二級目錄)不拷貝,還是引用 
# 修改 data 數據
dict1['user']='root'
dict1['num'].remove(1) 
# 輸出結果
print(dict1)
print(dict2)
print(dict3)
          

實例中 dict2 其實是 dict1 的引用(別名),所以輸出結果都是一致的,dict3 父對象進行了深拷貝,不會隨dict1 修改而修改,子對象是淺拷貝所以隨 dict1 的修改而修改。

            
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'runoob', 'num': [2, 3]}
          

例子:求打印的結果

            
def extend_list(val, list=[]):
  list.append(val)
  return list
list1 = extend_list(10)
list2 = extend_list(123, [])
list3 = extend_list('a') 
print("list1 = %s" % list1)
print("list2 = %s" % list2)
print("list3 = %s" % list3)
          

輸出結果:

            
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 普定县| 织金县| 辽源市| 明光市| 遂昌县| 白城市| 丁青县| 奈曼旗| 扎兰屯市| 余姚市| 宜良县| 四川省| 临汾市| 弥勒县| 长春市| 中阳县| 都安| 富蕴县| 团风县| 左云县| 海南省| 磐石市| 颍上县| 顺昌县| 基隆市| 玉田县| 新乡县| 罗田县| 新兴县| 永平县| 札达县| 丰都县| 越西县| 措美县| 盐边县| 临朐县| 南靖县| 廊坊市| 乌拉特前旗| 汶川县| 佛山市|