python深拷貝與淺拷貝

大猛獁發表於2020-11-08

python賦值方式

  • =
  • 淺拷貝
  • 深拷貝

= 只複製該物件的引用,

例如b=a,b只複製物件的引用,並不會在記憶體中建立新的物件。因此修改a的任何值,b也會跟隨變化。

淺拷貝 在記憶體中建立新的父物件,不建立子物件

例如b = copy.copy(a), 會在記憶體中建立一個新的和a指向物件相同的物件,並且讓b指向它,但是其中的子物件不會建立一份,仍然會指向原有子物件的引用。因此修改a的子物件,b也會發生改變,修改值物件,則不對發生改變。

深拷貝 完全複製一份新的

在記憶體中完全複製一份新的,因此和元物件毫無關係。

相關文章