728x90 Mutable2 [PYTHON] Mutable 객체(list, dict)를 함수의 기본 인자로 사용하면 안 되는 3가지 이유와 완벽 해결 방법 파이썬을 처음 접하는 개발자뿐만 아니라, 어느 정도 숙련된 개발자들도 간혹 놓치는 치명적인 함정이 있습니다. 바로 함수의 매개변수 기본값으로 Mutable(가변) 객체인 list나 dict를 사용하는 것입니다. 이 사소해 보이는 습관은 실무에서 예측 불가능한 버그를 야기하며, 시스템의 데이터 무결성을 해칠 수 있습니다. 본 포스팅에서는 파이썬의 객체 라이프사이클과 메모리 할당 방식을 심도 있게 분석하여, 왜 가변 객체를 기본 인자로 쓰면 안 되는지 그 차이와 원인을 규명하고, 실무에서 즉시 적용 가능한 7가지 이상의 해결 방법을 제시합니다.1. 왜 이런 현상이 발생하는가? (파이썬의 Evaluation 시점)파이썬에서 함수의 기본 인자(Default Argument)는 함수가 정의되는 시점(Definit.. 2026. 4. 2. [PYTHON] 가변(Mutable)과 불변(Immutable) 객체 : 파이썬 성능 최적화의 숨겨진 열쇠 파이썬을 처음 접하면 모든 데이터가 '객체(Object)'로 취급된다는 사실을 배웁니다. 하지만 숙련된 개발자로 거듭나기 위해서는 단순히 객체를 사용하는 것을 넘어, 그 객체가 가변(Mutable)인지 불변(Immutable)인지를 명확히 구분할 줄 알아야 합니다. 이 작은 차이가 프로그램의 메모리 효율성, 버그 발생 가능성, 그리고 실행 속도를 결정짓기 때문입니다. 본 포스팅에서는 파이썬의 핵심 메커니즘인 객체 불변성과 가변성을 심층 분석하고, 실무에서 발생할 수 있는 실수와 이를 방지하기 위한 최적의 설계 전략을 공유합니다.1. 객체의 정체성: 왜 가변과 불변을 나누는가?파이썬의 모든 객체는 생성 시 세 가지 속성을 부여받습니다: ID(메모리 주소), Type(자료형), 그리고 Value(값)입니다... 2026. 2. 5. 이전 1 다음 728x90