為什麼需要複製object呢?因為在Python 裡有分 Immutable 和 Mutable,其中有一個是 call by value 另一個是 call by address, 所以用起來有點麻煩,在使用複雜的物件變數時,會被其他的程式碼互相影響,因此最佳的解法是複製該物件出來。
Try copy.copy or copy.deepcopy for the general case. Not all objects can be copied, but most can.
簡易範例:
import copy
newobj = copy.copy(oldobj) # shallow copy
newobj = copy.deepcopy(oldobj) # deep (recursive) copy
使用起來比想像中的簡單,一行 copy.deepcopy 程式就結束了。
相關文章:
copy — Shallow and deep copy operations
https://docs.python.org/3/library/copy.html
How can I create a copy of an object in Python?
https://stackoverflow.com/questions/4794244/how-can-i-create-a-copy-of-an-object-in-python