GeeksforGeeks (한국어)

라이브러리는 모두 지원되며,지정문하지 않는 객체를 복사,그들이 만들인 사이의 대상과 개체입니다. 때 우리가 사용하는=운영자는 사용자가 생각하는 것이 만들어지는 새로운 개체;만,그렇지 않습니다. 그것이 만들어 새로운 변수는 주식의 참고로 원래 개체입니다. 때로는 사용자가 작품으로 변경 가능한 개체를 위해서는 사용자를 찾는 방법을 만드는”실제 사본”또는”복”이러한 객체입니다., 또는,때로는 사용자가 사본는 사용자가 수정하지 않고 자동으로 원본을 수정하는 같은 시간에,그렇게하기 위해서는 우리는 복사본을 만들의 개체입니다. 다른 사본을 변경하지 않고 하나의 사본을 변경할 수 있도록 복사본이 필요한 경우가 있습니다. Python,는 방법은 두 가지가 있을 만드는 복사본:

  • 깊은 복사
  • 얕은 사본

을 만들기 위해 이러한 복사,우리가 사용하는copy모듈이 있습니다. 우리는 얕은 깊은 복사 작업을 위해copy모듈을 사용합니다.,>

li2 =copy.copy(li1)
li3 =copy.deepcopy(li1)



위 코드에서는copy()반환합니다 얕은 목록의 사본을 그리고deepcopy()return 의 목록입니다.,

Deep copy

Deep copy 는 복사 프로세스가 재귀 적으로 발생하는 프로세스입니다. 먼저 새 컬렉션 객체를 생성 한 다음 원본에있는 자식 객체의 복사본으로 재귀 적으로 채우는 것을 의미합니다. 딥 복사의 경우 객체의 사본이 다른 객체에 복사됩니다. 이는 객체 사본에 대한 변경 사항이 원래 객체에 반영되지 않음을 의미합니다. 파이썬에서 이것은”deepcopy()”함수를 사용하여 구현됩니다.,



출력:

The original elements before deep copying1 2 4 The new list of elements after deep copying 1 2 4 The original elements after deep copying1 2 4 

위의 예에서 변화를 만들어 목록에 영향을 미치지 않았다에서는 다른 목록 을 나타내는 목록은 깊은 복사됩니다.

얕은 사본

단순 복사본을 의미를 구성하는 새로운 컬렉션을 개체고 다음을 채우는 그것을 참조하는 자식 개체에서 찾을 원래 있습니다. 복사 프로세스는 재귀하지 않으므로 자식 개체 자체의 복사본을 만들지 않습니다., 얕은 복사의 경우 객체의 참조가 다른 객체에 복사됩니다. 이는 객체 사본에 대한 변경 사항이 원래 객체에 반영됨을 의미합니다. 파이썬에서 이것은”copy()”함수를 사용하여 구현됩니다.



출력:

The original elements before shallow copying1 2 4 The original elements after shallow copying1 2 4 

위의 예에서 변화를 만들어 목록에서았다 효과에서는 다른 목록을 나타내는 목록은 얕은 복사됩니다.,

중요한 포인트:
사이의 차이는 얕고 깊은 복사만에 대한 관련 복합체(물체를 포함하는 다른 물체처럼,목록 또는 클래스의 인스턴스):

  • 얕은 복사본을 생성하는 새로운 복합체라면(가능한 범위까지)삽입한 참조로 그것을 개체를 발견했습니다.
  • 딥 카피는 새로운 복합 객체를 생성 한 다음 재귀 적으로 원본에있는 객체의 복사본을 삽입합니다.

주의 괴짜!, 파이썬 프로그래밍 기초 과정으로 기초를 강화하고 기초를 배우십시오.

우선,인터뷰 준비는 Python Ds 과정을 통해 데이터 구조 개념을 향상시킵니다.

기사 태그:

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다