Самый простой и распространенный метод:
my_tuple = (1, 2, 3) # Исходный кортеж
a, b, c = my_tuple # Распаковка в переменные
print(a) # 1
print(b) # 2
print(c) # 3
Как это работает:
a, b, c = (10, 20, 30) # Сразу создаем и распаковываем кортеж
Если нужны не все значения:
a, _, c = (1, 2, 3) # Игнорируем второй элемент
print(a, c) # 1 3
nested_tuple = (1, (2, 3), 4)
a, (b, c), d = nested_tuple
print(b, c) # 2 3
first, *rest = (1, 2, 3, 4, 5)
print(first) # 1
print(rest) # [2, 3, 4, 5] (список)
a, *middle, c = (1, 2, 3, 4, 5)
print(a) # 1
print(middle) # [2, 3, 4]
print(c) # 5
try:
a, b = (1, 2, 3) # ValueError
except ValueError as e:
print(f"Ошибка: {e}")
Лучшая практика - проверять длину кортежа:
my_tuple = (1, 2, 3)
if len(my_tuple) == 3:
a, b, c = my_tuple
else:
print("Неверное количество элементов")
x, y = 10, 20
x, y = y, x # Создается временный кортеж и распаковывается
print(x, y) # 20 10
def get_coordinates():
return 10.5, 20.3, 15.0 # Фактически возвращается кортеж
x, y, z = get_coordinates()
Базовая распаковка:
a, b, c = (1, 2, 3)
- простой и понятный способРасширенные возможности:
_
для игнорирования элементов*
для захвата нескольких значенийЛучшие практики:
Распаковка кортежей - это мощный инструмент Python, который делает код чище и выразительнее.