Python에서는 객체를 복사하려는 경우 할당 연산자가 목적을 달성하지 못합니다. 이는 대상과 객체 사이에 바인딩을 생성합니다. 즉, 새 객체를 생성하지 않습니다. 원래 개체 참조를 공유하는 새 변수를 생성합니다. 이 문제를 해결하기 위해 복제 모듈이 제공됩니다. 이 모듈에는 일반적인 얕은 복사 및 깊은 복사 작업이 있습니다.
얕은 복사는 새로운 복합 개체를 구성한 다음 참조를 원본 개체에 삽입합니다. −
을 사용하여 객체를 복사합니다. 으아악Deep Copy는 새로운 복합 개체를 구성한 다음 원본 개체에 있는 개체의 복사본을 반복적으로 삽입합니다. 다음 방법을 사용하여 객체를 복사합니다 −
으아악전체 복사 작업을 사용할 때 다음과 같은 문제가 발생할 수 있습니다. -
재귀는 재귀 루프로 이어질 수 있습니다.
딥 카피는 모든 것을 복사하기 때문에 복제본 간에 공유하고 싶은 데이터 등 너무 많은 양을 복사하는 것이 가능합니다.
그러나 deepcopy() 메서드는 이러한 문제를 방지합니다. 어떻게 되는지 볼까요 −
현재 복사 과정에서 복사된 개체의 메모 사전을 유지합니다
사용자 정의 클래스가 복사 작업이나 복사된 구성 요소 세트를 재정의하도록 허용합니다.
복사 모듈을 설치하려면 pip −
를 사용하세요. 으아악복사모듈 설치 후 사용 −
으아악객체를 복사하기 위해 얕은 복사본을 사용하겠습니다. 원래 요소에 대한 참조를 저장하기 위해 새 개체를 만듭니다. 예시를 살펴보겠습니다 −
으아악위의 예에서는 copy() 메서드를 사용하여 목록의 얕은 복사본을 만들었습니다.
deepcopy() 메서드를 사용하여 객체를 깊이 복사해 보겠습니다. 전체 복사는 새 객체도 생성합니다. 예시를 살펴보겠습니다 −
으아악copy.copy(x) Return a shallow copy of x.
위 내용은 Python에서 객체를 복사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!