[Python기초] 6. 객체 주소의 얕은 복사와 깊은 복사
객체의 주소와 복사는 무엇인가요?
주소
- 모든 변수가 가지고 있는 저장된 메모리 어드레스로 각 개체는 고유의 주소가 있음
복사
- 변수의 고유 주소를 공유하거나 다른이름으로 저장하여 사용하는 것
얕은 복사
- 간접적으로 박스의 주소를 복사하는 것
- 원본이 바뀌면, 복사한 내용도 바뀜
>>> a = [1, 2, 3] >>> b = a >>> a[0] = 38 >>> a [38, 2, 3] >>> b [38, 2, 3] >>> id(a), id(b) (34604856, 34604856)
깊은 복사
- 원본을 복사해서 복사본을 따로 만드는 것
- 원본을 변경해도 복사본은 바뀌지 않음
>>> a = [1, 2, 3] >>> b = a[:] >>> id(a), id(b) (34605376, 34600520) >>> a[0] = 38 >>> a [38, 2, 3] >>> b [1, 2, 3]