How do I copy an object in Python?

Posted in :

為什麼需要複製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

How can I create a copy of an object in Python?


發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *