Assignment

    [Python] Assignment (Basic)

    1. General form Assignment statement의 일반적인 형태는 다음과 같음. varible = expression 2. 수행 순서 = 기호의 오른쪽의 expression을 evaluation함 (하나의 값으로 reduction) 1번의 값에 해당하는 object (해당 값을 value로 가진 object)가 저장된 memory address (CPython에서는 해당 object의 ID가 이에 해당)를 variable의 value(값)으로 넘겨줌. = 기호의 왼쪽에 있는 variable이 가지는 name이 최초로 등장한 경우, 해당 variable을 생성시키게 됨. 만약 해당 name의 variable이 있었다면 이 variable의 값이 2번에서 구한 결과 object의 ID로 변..

    [Python] Assignment와 Shallow Copy, Deep Copy

    Shallow Copy와 Deep Copy Python에서 assignment를 수행될 때, 오른쪽이 reference (즉 variable이 =연산자 우측에 있음)인 경우 기본적으로 Shallow Copy가 발생한다. 하지만 특정 경우에는 Deep Copy 가 필요한 경우가 있기 때문에 이 둘의 차이를 명확히 알고 있는 것이 중요하다. 이 둘의 차이는 다음 그림이 간략하게 설명해 준다. Shallow copy가 일어났다면 왼쪽의 경우처럼 실제 데이터가 있는 메모리영역 Referenced Object가 공유되고 이를 참조하는 새로운 Cloned Object가 만들어진다. 때문에 실제로는 같은 Object를 가리키고 있기 때문에 Original Object에서 수정이 일어나면 해당 수정사항이 Cloned ..