좋아 ... 그것은 어리석은 질문일지도 모른다. .. 그러나 나는 대답을 지금 발견하지 않고있다!Python copy : 기본 복사 동작을 상속하는 방법은 무엇입니까?
개체의 복사본을 실현해야합니다. 모든 특성을 복사하려면 하나 또는 둘을 제외하고는 복사본을 완전히 제어해야합니다. 기본적으로 모든 속성이 복사되는 것을 의미
>>> class test(object):
... def __init__(self, arg):
... self._a = arg
...
>>> t = test(123999)
>>> t._a
123999
>>> tc = copy.copy(t)
>>> tc._a
123999
:
여기 객체에 대한 표준 복사 동작입니다.
>>> class test(object):
... def __init__(self, arga, argb):
... self._a = arga
... self._b = argb
...
... def __copy__(self):
... obj_copy = copy.copy(self) #NOT POSSIBLE OF COURSE => infinite recursion
... obj_copy._b = my_operation(obj_copy._b)
... return obj_copy
난 당신이 포인트를 얻었기를 바랍니다 : 나는 개체의 복사 동작을 다시 사용하기를 원하지만 내 자신의 작업 후크에서 내가 뭘하고 싶은 재사용에게 다음과 같은 방법으로이 동작을합니다. 이 일을 할 수있는 깨끗한 방법이 있습니까 (for attr_name in dir(self): ...
할 필요없이) ???
당신이 비교적 Python을 처음 접했을 때 객체를 복사해야한다고 생각한다면 복사가 객체 자체가 할 수없는 일을 왜하는지 정확히 설명 할 수 없다면 아마 틀릴 것입니다. – msw
나는 파이썬을하는 동안 잠시 지내왔다 ... 그리고 나는이 시간을 복사해야한다는 것을 안다. – sebpiq