Python: mutable/immutable
개요
- mutable 객체
- 값의 수정이 가능한 객체(리스트, 딕셔너리)
- 값 수정 시 주소값이 달라지지 않음
- immutable 객체
- 값의 수정이 불가능한 객체(문자열, 튜플)
- 값 수정 시 새로운 객체 생성
예제
- 코드
if __name__ == "__main__":
l = [1, 2, 3]
print(id(l), l)
l += [4, 5]
print(id(l), l)
t = (1, 2, 3)
print(id(t), t)
t += (4, 5)
print(id(t), t)
- 실행 결과
139930725141184 [1, 2, 3]
139930725141184 [1, 2, 3, 4, 5]
139930724654784 (1, 2, 3)
139930721985296 (1, 2, 3, 4, 5)