コピーモジュールとの違いを理解してcopy
います。deepcopy
私は以前に使用copy.copy
して成功しましたが、実際にandメソッドcopy.deepcopy
をオーバーロードするのはこれが初めてです。私はすでにグーグルで検索し、組み込みのPythonモジュールを調べて、and関数(、、、など)のインスタンスを探しましたが、それが正しいかどうかはまだ100%わかりません。__copy__
__deepcopy__
__copy__
__deepcopy__
sets.py
decimal.py
fractions.py
これが私のシナリオです:
構成オブジェクトがあります。最初に、デフォルトの値のセットを使用して1つの構成オブジェクトをインスタンス化します。この構成は、他の複数のオブジェクトに渡されます(すべてのオブジェクトが同じ構成で開始されるようにするため)。ただし、ユーザーインタラクションが開始されると、各オブジェクトは、互いの構成に影響を与えることなく、その構成を個別に微調整する必要があります(つまり、初期構成のディープコピーを作成して渡す必要があります)。
サンプルオブジェクトは次のとおりです。
class ChartConfig(object):
def __init__(self):
#Drawing properties (Booleans/strings)
self.antialiased = None
self.plot_style = None
self.plot_title = None
self.autoscale = None
#X axis properties (strings/ints)
self.xaxis_title = None
self.xaxis_tick_rotation = None
self.xaxis_tick_align = None
#Y axis properties (strings/ints)
self.yaxis_title = None
self.yaxis_tick_rotation = None
self.yaxis_tick_align = None
#A list of non-primitive objects
self.trace_configs = []
def __copy__(self):
pass
def __deepcopy__(self, memo):
pass
適切な動作を保証して提供するために、このオブジェクトにメソッドcopy
とメソッドを実装する正しい方法は何ですか?deepcopy
copy.copy
copy.deepcopy