
1.1 얕은 복사와 깊은 복사 파이썬의 모든 변수는 해당 객체의 주소를 가지고 있다. a = 1 이라고 한다면 a라는 변수에 1이라는 값이 들어가는 것이 아니라, 1 이라는 객체를 생성한 후, a 는 1이란 객체의 주소를 저장하게 되는 것이다. (실제로도 1은 일반적으로 객체가 생성되어 있으며, 선언 시점에 객체가 생성되는 것은 아니라고 한다.) 일단 다음 그림을 보자. [ 그림 1-1 ]을 보면 알겠지만 변수 a 에 리스트 객체가 생성되고 두 번째 라인에서 b에 a 객체가 복사되는 것으로 생각할 수 있지만, 사실은 a 가 가르키고 있는 [1, 2, 3] 의 주소를 b 에 동일한 주소가 복사되는 것이다. (중요) 따라서 a 와 b는 동일한 리스트 객체를 공유하게 되는 것이다. 다음 그림을 보자. [ 그림..