>  기사  >  백엔드 개발  >  Python에서 객체를 복사하는 방법은 무엇입니까?

Python에서 객체를 복사하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-08-25 20:33:151410검색

Python에서 객체를 복사하는 방법은 무엇입니까?

Python에서는 객체를 복사하려는 경우 할당 연산자가 목적을 달성하지 못합니다. 이는 대상과 객체 사이에 바인딩을 생성합니다. 즉, 새 객체를 생성하지 않습니다. 원래 개체 참조를 공유하는 새 변수를 생성합니다. 이 문제를 해결하기 위해 복제 모듈이 제공됩니다. 이 모듈에는 일반적인 얕은 복사 및 깊은 복사 작업이 있습니다.

얕은 카피

얕은 복사는 새로운 복합 개체를 구성한 다음 참조를 원본 개체에 삽입합니다.

을 사용하여 객체를 복사합니다. 으아악

딥 카피

Deep Copy는 새로운 복합 개체를 구성한 다음 원본 개체에 있는 개체의 복사본을 반복적으로 삽입합니다. 다음 방법을 사용하여 객체를 복사합니다

으아악

전체 복사 작업을 사용할 때 다음과 같은 문제가 발생할 수 있습니다. -

  • 재귀는 재귀 루프로 이어질 수 있습니다.

  • 딥 카피는 모든 것을 복사하기 때문에 복제본 간에 공유하고 싶은 데이터 등 너무 많은 양을 복사하는 것이 가능합니다.

그러나 deepcopy() 메서드는 이러한 문제를 방지합니다. 어떻게 되는지 볼까요 −

  • 현재 복사 과정에서 복사된 개체의 메모 사전을 유지합니다

  • 사용자 정의 클래스가 복사 작업이나 복사된 구성 요소 세트를 재정의하도록 허용합니다.

복사 모듈 설치 및 가져오기

복사 모듈을 설치하려면 pip −

를 사용하세요. 으아악

복사모듈 설치 후 사용 −

으아악

얕은 복사본을 사용하여 개체 복사

객체를 복사하기 위해 얕은 복사본을 사용하겠습니다. 원래 요소에 대한 참조를 저장하기 위해 새 개체를 만듭니다. 예시를 살펴보겠습니다

으아악

출력

으아악

위의 예에서는 copy() 메서드를 사용하여 목록의 얕은 복사본을 만들었습니다.

전체 복사를 사용하여 개체 복사

deepcopy() 메서드를 사용하여 객체를 깊이 복사해 보겠습니다. 전체 복사는 새 객체도 생성합니다. 예시를 살펴보겠습니다

으아악

출력

copy.copy(x)
Return a shallow copy of x.

위 내용은 Python에서 객체를 복사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제