🔥 튜플과 튜플의 불변성

329자
4분

이 장에서는 파이썬의 데이터 구조 중 하나인 '튜플'에 대해 자세히 알아보겠습니다. 튜플은 리스트와 비슷하게 데이터를 저장하는 방법이지만, 가장 큰 차이점은 불변성(Immutability)을 가진다는 것입니다. 이것은 튜플이 생성된 후에는 그 내용을 변경할 수 없다는 것을 의미합니다. 이 장에서는 튜플의 개념, 특성, 사용 사례 및 관련된 주요 개념을 다룰 것입니다.

튜플(Tuples)

파이썬에서 튜플은 여러 항목을 하나의 변수에 저장하는 데 사용되며, 리스트와 유사하지만 불변성을 가지고 있습니다. 이는 튜플을 생성한 후에는 요소를 추가, 삭제 또는 변경할 수 없다는 것을 의미합니다.

# 튜플 생성
my_tuple = (1, 2, 3)
print(my_tuple)  # 출력: (1, 2, 3)
 
# 요소 접근
print(my_tuple[0])  # 출력: 1
 
python

튜플의 불변성

튜플의 불변성은 한 번 생성되면 값을 변경할 수 없다는 중요한 특성입니다. 이것은 데이터의 안정성과 불변성을 보장해줍니다.

my_tuple = (1, 2, 3)
my_tuple[0] = 4  # 오류 발생: 'tuple' object does not support item assignment
 
python

튜플 다루기

튜플은 다양한 연산을 지원하며, 이를 통해 데이터를 다루고 조작할 수 있습니다. 이러한 연산에는 슬라이싱, 연결, 반복, 길이 확인 등이 포함됩니다.

# 튜플 슬라이싱
my_tuple = (1, 2, 3, 4, 5)
slice_tuple = my_tuple[1:4]
print(slice_tuple)  # 출력: (2, 3, 4)
 
# 튜플 연결
tuple1 = (1, 2)
tuple2 = (3, 4)
concatenated_tuple = tuple1 + tuple2
print(concatenated_tuple)  # 출력: (1, 2, 3, 4)
 
python

튜플과 함수

튜플은 불변성과 빠른 성능으로 인해 다양한 상황에서 유용하게 사용됩니다. 함수에서 여러 값을 반환하는 데에도 많이 활용됩니다.

# 함수에서 튜플 반환
def get_student_info():
    name = "Alice"
    age = 25
    grade = "A"
    return name, age, grade
 
student_info = get_student_info()
print(student_info)  # 출력: ('Alice', 25, 'A')
 
python

패킹과 언패킹

튜플은 패킹(Packing)과 언패킹(Unpacking)을 지원하며, 이를 통해 여러 값을 간단하게 처리할 수 있습니다.

# 패킹
packed_tuple = 1, 2, 3
print(packed_tuple)  # 출력: (1, 2, 3)
 
# 언패킹
x, y, z = packed_tuple
print(x, y, z)  # 출력: 1 2 3
 
python

연습문제

  1. 주어진 튜플에서 가장 큰 값을 찾는 파이썬 함수를 작성하세요.
  2. 두 개의 튜플을 입력으로 받아서 두 튜플의 요소를 번갈아가면서 합쳐 새로운 튜플을 생성하는 함수를 작성하세요.