파이썬 참조
x = [1,2,3]
y=x
y.append(4)
print(x)
- x = [1, 2, 3]: x라는 리스트가 생성됨. 이 리스트에는 1, 2, 3이 들어 있음.
- y = x: 변수 y가 x와 동일한 리스트를 참조하게 됨. 즉, y와 x는 동일한 객체를 가리킴.
- y.append(4): 리스트에 4가 추가됨. x와 y는 같은 리스트를 참조하고 있기 때문에 y를 통해 추가된 내용이 x에도 반영됨.
- print(x): x 리스트는 [1, 2, 3, 4]로 출력됨. y를 통해 x와 같은 리스트에 4가 추가되었기 때문임.
- 참조: 변수는 객체의 메모리 주소를 저장하며, 여러 변수가 같은 객체를 참조할 수 있음.
- 가변 객체: 참조를 통해 객체를 수정하면, 그 객체를 참조하는 모든 변수에 변화가 반영됨.
- 불변 객체: 값을 변경할 수 없으며, 참조를 하더라도 원본 객체는 변하지 않음.
- 복사: 객체를 복사하면 원본과 독립적으로 동작하도록 할 수 있지만, 참조는 객체를 공유하기 때문에 변경 시 영향을 미칠 수 있음.