python中的深淺拷貝

1.python中的深淺拷貝

import copy
l1 = "string"
l2 = copy.copy(l1)  # 淺拷貝 ,在內存中只額外創建第一層數據
l3 = copy.deepcopy(l1)  # 深拷貝,在內存中將所有的數據重新重建一份
print(id(l1), id(l2), id(l3))
運行結果:2297983511384 2297983511384 2297983511384
l1 = 1
l2 = copy.copy(l1)  # 淺拷貝 ,在內存中只額外創建第一層數據
l3 = copy.deepcopy(l1)  # 深拷貝,在內存中將所有的數據重新重建一份
print(id(l1), id(l2), id(l3))  # 查看內存中的地址
運行結果:1572123712 1572123712 1572123712
從上面的運行結果可以看出,python對數字和字符串有優化機制,無論深淺拷貝內存地址都是一樣的


發佈了63 篇原創文章 · 獲贊 61 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章