Python 직접 할당 및 깊이 복사 원리 상세 설명

정의.
  • 직접 할당:대상 의 인용(별명)
  • 얕 은 복사(copy):부모 대상 을 복사 하고 대상 내부 의 하위 대상 을 복사 하지 않 습 니 다
  • 딥 복사(deepcopy):copy 모듈 의 deepcopy 방법,부모 대상 및 하위 대상 을 완전히 복사 합 니 다.
  • 해명 하 다.
    b=a:할당 참조,a 와 b 는 모두 같은 대상 을 가리 키 고 있 습 니 다.

    b=a.copy():얕 은 복사,a 와 b 는 모두 독립 된 대상 이지 만 그들의 하위 대상 은 통일 대상(참조)을 가리킨다.

    b=copy.deepcopy(a):깊이 복사 하고 a 와 b 는 아버지 대상 과 아들 대상 을 완전히 복사 하 며 둘 은 완전히 독립 된 것 이다.

    예시
    다음은 직접 할당,얕 은 복사 와 깊 은 복사 의 대비 이다.
    
    import copy
    
    a = [1, 2, 3, 4, ['a', 'b']]  #    
    
    b = a        #    ,       
    c = copy.copy(a)     #   
    d = copy.deepcopy(a)    #   
    
    a.append(5)      #    a
    a[4].append('c')     #    a  ['a', 'b']    
    
    print( 'a = ', a )
    print( 'b = ', b )
    print( 'c = ', c )
    print( 'd = ', d )
    위의 인 스 턴 스 실행 출력 결 과 는 다음 과 같 습 니 다.
    a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
    b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
    c = [1, 2, 3, 4, ['a', 'b', 'c']]
    d = [1, 2, 3, 4, ['a', 'b']]
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기