Возврат нескольких значений из функции
В Python функция может вернуть сразу несколько значений. Чаще всего их просто перечисляют через запятую — тогда возвращается кортеж. Но иногда удобнее обернуть результат в словарь, чтобы значения были подписаны ключами.
Что нужно знать
Перед изучением примера полезно понимать:
Функции в Python — функции
Python: кортеж (tuple) — кортежи
Словари (Dictionary) в Python — словари
Пример 1. Возврат значений через запятую
def name():
return "John","Armin"
# print the tuple with the returned values
print(name())
# get the individual items
name_1, name_2 = name()
print(name_1, name_2)
Вывод
('John', 'Armin')
John Armin
Когда в return указано несколько значений через запятую, они возвращаются как кортеж. В коде выше одной инструкцией return возвращены две строки — "John" и "Armin". Этот кортеж можно либо распечатать целиком, либо распаковать в отдельные переменные.
Пример 2. Возврат через словарь
def name():
n1 = "John"
n2 = "Armin"
return {1:n1, 2:n2}
names = name()
print(names)
Вывод
{1: 'John', 2: 'Armin'}
Если возвращать значения в виде словаря, к каждому из них можно обратиться по ключу — это удобно, когда возвращаемых значений много и важно не перепутать их порядок.