[파이썬] 튜플 불변성을 유지하는 방법 예제
파이썬에서 불변성(Immutability)은 튜플, 문자열, 정수 및 부동소수점 숫자와 같은 데이터 유형에서 중요한 개념입니다. 불변한 데이터는 생성 후 변경할 수 없으며 이러한 특성은 데이터 무결성을 유지하고 예기치 않은 버그를 방지하는 데 도움이 됩니다. 다음은 불변성을 유지하는 방법에 대한 예제입니다:
1. 문자열 (Strings):
문자열은 불변합니다. 새로운 문자열을 생성할 때 기존 문자열을 수정하는 대신 새로운 문자열을 반환합니다.
original_string = "Hello"
modified_string = original_string + ", World!"
print(original_string) # "Hello"
print(modified_string) # "Hello, World!"
2. 튜플 (Tuples):
튜플은 생성 후 변경할 수 없습니다. 불변한 데이터 구조로 사용됩니다.
my_tuple = (1, 2, 3)
# my_tuple[0] = 4 # 이 줄은 에러를 발생시킵니다.
3. 정수 (Integers)와 부동소수점 숫자 (Floats):
정수 및 부동소수점 숫자도 불변합니다. 새로운 값을 할당할 때 새로운 객체가 생성됩니다.
x = 5
y = x # y에는 x의 값이 복사됩니다.
x = 10 # x에는 새로운 정수 10이 할당됩니다.
print(y) # 5
4. frozenset을 사용한 불변한 집합 (Sets):
frozenset
은 변경할 수 없는 집합으로, 요소를 추가, 삭제, 수정할 수 없습니다.
immutable_set = frozenset([1, 2, 3])
# immutable_set.add(4) # 이 줄은 에러를 발생시킵니다.
불변성은 데이터를 보호하고 예기치 않은 부작용을 방지하는 데 중요한 역할을 합니다. 데이터를 변경해야 하는 경우에는 새로운 데이터를 생성하고 원래 데이터를 보존하는 방식으로 처리해야 합니다.