Шаг 120.
Python: сборник рецептов.
Функции. Возвращение функцией нескольких значений

    На этом шаге мы рассмотрим решение этой задачи.

Задача

    Вы хотите, чтобы функция возвращала несколько значений.

Решение

    Чтобы вернуть несколько значений из функции, просто сделайте возвращаемым значением кортеж. Например:

>>> def myfun():
	return 1, 2, 3

>>> a, b, c = myfun()
>>> a
1
>>> b
2
>>> c
3
>>> 


Обсуждение

    Хотя это выглядит так, будто myfun() возвращает несколько значений, на самом деле создается кортеж. Это кажется немного замысловатым, но дело в том, что кортеж задается не скобками, а запятыми. Например:

>>> a = (1, 2)  # Со скобками
>>> a
(1, 2)
>>> b = 1, 2  # Без скобок
>>> b 
(1, 2)
>>>

    При вызове функций, которые возвращают кортеж, часто результат присваивают нескольким переменным. Это просто распаковка кортежа. Возвращаемое значение также может быть присвоено одной переменной:

>>> x = myfun()
>>> x 
(1, 2, 3)
>>>

    На следующем шаге мы рассмотрим определение функций с аргументами по умолчанию.




Предыдущий шаг Содержание Следующий шаг