나는 사이의 차이를 이해 copy
대 deepcopy
복사 모듈을. 내가 사용했습니다 copy.copy
및 copy.deepcopy
이전을 성공적으로, 그러나 이것은 내가 실제로 과부하에 대해 갔어요 처음 __copy__
과 __deepcopy__
방법을. 이미 통해 주위 구글에서 보니 한의 인스턴스를 찾기 위해 파이썬 모듈 내장 __copy__
및 __deepcopy__
기능 (예를 들어 sets.py
, decimal.py
및 fractions.py
),하지만 난 아직 100 % 확인 내가 잘있어 해요.
내 시나리오는 다음과 같습니다.
구성 개체가 있습니다. 처음에는 기본 값 집합으로 하나의 구성 개체를 인스턴스화 할 것입니다. 이 구성은 여러 다른 개체에 전달됩니다 (모든 개체가 동일한 구성으로 시작되도록 함). 그러나 사용자 상호 작용이 시작되면 각 개체는 서로의 구성에 영향을주지 않고 독립적으로 구성을 조정해야합니다 (이는 나에게 초기 구성의 딥 카피를 작성해야한다고 말합니다).
다음은 샘플 개체입니다.
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