Python에서 객체 할당은 실제로 객체에 대한 참조입니다. 객체가 생성되어 다른 변수에 할당되면 Python은 객체를 복사하지 않고 객체에 대한 참조만 복사합니다.
얕은 복사: 가장 바깥쪽 개체 자체가 복사되고, 내부 요소는 참조와 함께 복사됩니다. 즉, 개체는 한 번 복사되지만 개체에서 참조되는 다른 개체는 복사되지 않습니다.
딥 카피: 주변 요소와 내부 요소 모두 참조가 아닌 개체 자체를 복사합니다. 즉, 해당 개체가 한 번 복사되고 해당 개체에서 참조되는 다른 개체도 복사됩니다.
깊고 얕은 복사본의 역할
1, 메모리 사용량을 줄이고
2 데이터를 정리합니다. 향후 데이터를 수정하거나 저장할 때에는 데이터 수정 후 원본 데이터를 찾을 수 없도록 원본 데이터의 복사본을 만들어 두시기 바랍니다.
관련 권장사항: "Python 비디오 튜토리얼"
얕은 복사(복사): 상위 개체를 복사하고 내부 하위 개체는 복사하지 않습니다. 객체 객체.
딥카피(deepcopy): 복사 모듈의 딥카피 방식은 상위 객체와 그 하위 객체를 완전히 복사합니다.
>>>a = {1: [1,2,3]} >>> b = a.copy() >>> a, b({1: [1, 2, 3]}, {1: [1, 2, 3]}) >>> a[1].append(4) >>> a, b({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
깊은 복사에는 복사 모듈 도입이 필요합니다:
>>>import copy >>> c = copy.deepcopy(a) >>> a, c({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]}) >>> a[1].append(5) >>> a, c({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})
1. b = a.copy(): 얕은 복사, a와 b는 독립적인 개체이지만 하위 개체는 여전히 통합 개체를 가리킵니다(참조임).
2.b = copy.deepcopy(a): 깊은 복사, a와 b는 상위 개체와 하위 개체를 완전히 복사합니다. 독립적인.
위 내용은 파이썬에서 깊은 복사본과 얕은 복사본의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!