[python] 파이썬에서 객체의 복사본을 만들려면 어떻게해야합니까?



Answers

다음은 Python으로 분류 된 잘 작동하는 많은 사람들과 작동해야한다고 생각합니다.

def copy(obj):
    return type(obj)(obj)

(물론, 나는 다른 이야기 인 "딥 카피 (deep copy)"에 관해서 이야기하는 것이 아닙니다. 그리고 그것은 아주 명확한 컨셉이 아닐 수도 있습니다 - 깊이가 얼마나 깊습니까?)

튜플이나 문자열 같은 불변 객체의 경우 Python 3을 사용하여 테스트 한 바에 따르면 동일한 객체를 반환하지만 (불변 객체의 얕은 복사본을 만들 필요가 없으므로) 목록이나 사전의 경우 독립된 얕은 복사본을 만듭니다. .

물론이 메서드는 생성자가 그에 따라 동작하는 클래스에서만 작동합니다. 가능한 사용 사례 : 표준 파이썬 컨테이너 클래스의 얕은 복사본 만들기.

Question

개체의 복사본을 만들고 싶습니다. 새 객체가 이전 객체의 모든 속성 (필드 값)을 소유하기를 원합니다. 그러나 나는 독립적 인 물건을 갖고 싶다. 따라서 새 객체의 필드 값을 변경하면 이전 객체가 영향을받지 않습니다.




Related