2025. 8. 8. 15:45
반응형
파이썬의 튜플은 순서가 있고 변경 불가능한(immutable) 데이터 컬렉션입니다. 리스트와 비슷하지만, 한 번 생성되면 요소를 추가, 삭제, 수정할 수 없다는 점이 가장 큰 차이점입니다. 튜플은 주로 여러 값을 묶어서 하나의 변수에 저장하고 싶을 때 사용되며, 특히 함수에서 여러 값을 반환할 때 유용합니다.
튜플 생성하기 ✍️
튜플은 소괄호 ()를 사용하여 생성하며, 각 요소는 쉼표로 구분합니다. 소괄호를 생략하고 쉼표만으로도 튜플을 만들 수 있지만, 가독성을 위해 소괄호를 사용하는 것이 좋습니다.
예제:
Python
# 일반적인 튜플 생성
my_tuple = (1, "hello", 3.14)
print(my_tuple) # 출력: (1, 'hello', 3.14)
# 소괄호 없이 생성
another_tuple = 1, "hello", 3.14
print(another_tuple) # 출력: (1, 'hello', 3.14)
# 한 개의 요소만 있는 튜플을 만들 때는 반드시 쉼표를 찍어야 합니다.
# 쉼표가 없으면 튜플이 아닌 일반적인 데이터형으로 인식됩니다.
single_item_tuple = ("apple",)
print(type(single_item_tuple)) # 출력: <class 'tuple'>
not_a_tuple = ("apple")
print(type(not_a_tuple)) # 출력: <class 'str'>
튜플의 특징: 불변성(Immutable) 🚫
튜플의 가장 중요한 특징은 불변성입니다. 즉, 일단 생성된 후에는 그 안에 있는 요소의 값을 변경하거나, 요소를 추가 또는 삭제할 수 없습니다. 이 때문에 튜플은 프로그램 실행 중에 데이터가 변경되면 안 되는 경우에 사용하기 좋습니다.
예제:
Python
# 불변성으로 인한 오류 예시
my_tuple = (10, 20, 30)
# 튜플의 요소는 수정할 수 없습니다.
# my_tuple[0] = 100 # TypeError: 'tuple' object does not support item assignment
# 튜플에 요소를 추가할 수 없습니다.
# my_tuple.append(40) # AttributeError: 'tuple' object has no attribute 'append'
# 튜플에서 요소를 삭제할 수 없습니다.
# del my_tuple[0] # TypeError: 'tuple' object doesn't support item deletion
튜플의 활용 🤝
튜플은 다음과 같은 상황에서 유용하게 사용됩니다.
- 함수에서 여러 값 반환하기: 파이썬 함수는 기본적으로 하나의 값만 반환하지만, 튜플을 사용하면 여러 개의 값을 하나의 튜플로 묶어 반환할 수 있습니다.
Python
def get_user_info(): name = "John" age = 30 return (name, age) user_info = get_user_info() print(user_info) # 출력: ('John', 30) # 반환된 튜플을 바로 여러 변수에 할당할 수도 있습니다. (튜플 언패킹) name, age = get_user_info() print(f"이름: {name}, 나이: {age}") # 출력: 이름: John, 나이: 30 - 예제:
- 딕셔너리의 키로 사용하기: 리스트는 변경 가능하기 때문에 딕셔너리의 키로 사용할 수 없지만, 튜플은 불변성이 있어 딕셔너리의 키로 사용될 수 있습니다.
Python
# 좌표를 키로 사용하여 값을 저장하는 딕셔너리 locations = {(10, 20): "office", (30, 40): "home"} print(locations[(10, 20)]) # 출력: office - 예제:
튜플 언패킹(Tuple Unpacking) 📦
튜플 언패킹은 튜플의 요소를 여러 변수에 한 번에 할당하는 기능입니다. 이 기능은 앞서 본 함수 반환 예제처럼 여러 값을 간결하게 다룰 때 매우 유용합니다.
예제:
Python
person = ("Alice", 25, "New York")
# 튜플의 요소를 순서대로 변수에 할당
name, age, city = person
print(f"이름: {name}") # 출력: 이름: Alice
print(f"나이: {age}") # 출력: 나이: 25
print(f"도시: {city}") # 출력: 도시: New York
반응형
'파이썬(Python)' 카테고리의 다른 글
| 파이썬에서 데이터형 : 세트형에 대해 정리 (1) | 2025.08.08 |
|---|---|
| 파이썬에서 데이터형 : 딕셔너리형에 대해 정리 (1) | 2025.08.08 |
| 파이썬의 데이터형(정수형, 실수형, 문자열형, 부울형, 리스트형, 세트형, 튜플형, 딕셔너리형) (4) | 2025.08.08 |
| 파이썬 f-string (형식화된 문자열 리터럴)에서 숫자를 천 단위 콤마 넣기 (4) | 2025.08.07 |
| 파이썬의 print()함수와 sep 옵션, end 옵션에 대해 정리 (2) | 2025.08.07 |
콘텐츠 내 자동삽입광고
