개발 언어/Python

immutable과 mutable 객체란?

hong2943 2024. 5. 5. 17:21

immutable(불변) 객체

  • 생성된 후 값을 변경할 수 없는 객체
  • 한 번 생성된 값은 변경할 수 없어서, 값을 수정하려면 새로운 객체를 생성해야 한다.
  • ex) int , float , str
# 정수형(int) 예시
x = 5
print("Before:", x)
x = x + 1  # 새로운 객체를 생성하여 값을 변경
print("After:", x)

# 문자열(str) 예시
s = "Hello"
print("Before:", s)
s = s + " World"  # 새로운 문자열을 생성하여 값을 변경
print("After:", s)

mutable(가변) 객체

  • 생성된 후에 값이 변경될 수 있는 객체
  • mutable객체는 값을 수정할 수 있고, 동일한 객체에 대한 여러 참조가 모두 동일한 객체를 가리킨다.
  • ex) list, dict, set
# 리스트(list) 예시
my_list = [1, 2, 3]
print("Before:", my_list)
my_list.append(4)  # 기존 리스트를 수정하여 값을 추가
print("After:", my_list)