콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 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

튜플의 활용 🤝

튜플은 다음과 같은 상황에서 유용하게 사용됩니다.

  1. 함수에서 여러 값 반환하기: 파이썬 함수는 기본적으로 하나의 값만 반환하지만, 튜플을 사용하면 여러 개의 값을 하나의 튜플로 묶어 반환할 수 있습니다.
    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
    
  2. 예제:
  3. 딕셔너리의 키로 사용하기: 리스트는 변경 가능하기 때문에 딕셔너리의 키로 사용할 수 없지만, 튜플은 불변성이 있어 딕셔너리의 키로 사용될 수 있습니다.
    Python
     
    # 좌표를 키로 사용하여 값을 저장하는 딕셔너리
    locations = {(10, 20): "office", (30, 40): "home"}
    print(locations[(10, 20)])  # 출력: office
    
  4. 예제:

튜플 언패킹(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
반응형

콘텐츠 내 자동삽입광고