변수를 분명 바꿨는데, 값이 바뀌지 않아요! (값, 참조, 주소 호출)
파이썬 코드를 쓰다보면, 이런 의문이 생길 때가 있습니다. 파이썬 함수에 변수를 전달하고 함수 내에서 변수를 조작했는데 의도와 다르게 원본 값이 바뀌거나, 반대로 바뀌지 않는 겁니다. - 어 뭐야, 이게 왜 바뀌었지? - 엇 이건 뭐야, 왜 안바뀌지? 파이썬에서는 함수에 전달되는 immutable object(int, float, str, tuple)와 mutable object(list, dict, set)에 따라서 다르게 동작하는데요, 이것과 함께 값, 참조, 주소에 의한 호출의 차이라는게 뭔지 정리한 글을 공유합니다.