파이썬에서의 대입이란 다른 언어와 다른 특징을 갖는 것에 늘 주의해야 한다!
왜냐하면 파이썬의 대입은 실제로 어떠한 변수에 값을 저장하는 것이라고 보기보다는
객체를 가리키는 역할을 하기 때문이다.
즉, 깊은 복사인 deep copy ('실제 값'을 새로운 메모리 공간에 복사하는 것)가 아니라
얕은 복사인 shallow copy ('주소 값'을 복사하는 것)이다.
따라서 파이썬에서 대입을 잘못했을 경우에는 원본까지 변경되는 원하지 않은 상황이 발생할 수 있기때문에 조심해야 한다.
원본을 그대로 놔두는 복사를 하고 싶을 경우에는,
import copy를 통해
copy.deepcopy메소드를 이용하면 된다. (copy.copy()는 얕은 복사에 해당함)
728x90
'Python' 카테고리의 다른 글
[파이썬] sort, sorted 함수 + 리스트 길이 옵션 (0) | 2024.09.12 |
---|---|
[파이썬] list(리스트)에서 원소파이썬] list(리스트)에서 원소 삭제하기(remove, del, pop, clear) (0) | 2024.09.10 |
[파이썬] 문자열 인덱스 찾기2 : rfind(), rindex() 함수 (0) | 2024.08.30 |
[파이썬] 알파벳 변환에 쓸 수 있는 ord 함수 와 chr 함수 (0) | 2024.08.21 |
[파이썬] 몫과 나머지를 한번에 구하는 divmod 함수 (0) | 2024.08.18 |