3
根據Python約定+速度,通常首選什麼?是這樣的:實現「複製構造函數」與使用副本()
class Object(object):
def __init__(self, other_object=None):
if other_object:
self.value = other_object.value
else:
self.value = something
然後
obj = Object(other_object)
,或者使用複製():
from copy import copy
obj = copy(other_object)
爲什麼你要提供你自己的副本實現?考慮一個具有任意結構的深層嵌套對象:你的拷貝實現容易出錯......那麼爲什麼? –
我只是問。讓我們假設我的對象非常簡單,就像在這個例子中一樣。 timeit顯示copy()與我的實現非常差的結果。 – AAlon
如果你認爲你更聰明,更快,那麼複製()然後繼續我們自己的實現,編寫測試並做基準測試。 –