How do I copy an object in Python?

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

發佈留言

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