Рубрики
Без рубрики

Выявления возврата Python объяснили: что они есть и почему вы их используете

Автор оригинала: FreeCodeCapm Team.

Все функции возвращают значение при вызове.

После того, как оператор возврата сопровождается списком выражений, этот список выражений оценивается, и значение возвращается:

>>> def greater_than_1(n):
...     return n > 1
...
>>> print(greater_than_1(1))
False
>>> print(greater_than_1(2))
True

Если не указан список выражений, Нет возвращается:

>>> def no_expression_list():
...     return    # No return expression list.
...
>>> print(no_expression_list())
None

Если в течение выполнения функции будет достигнуто оператор возврата, то текущий вызов функции остается в этой точке:

>>> def return_middle():
...     a = 1
...     return a
...     a = 2     # This assignment is never reached.
...
>>> print(return_middle())
1

Если нет оператора возврата, функция не возвращается, когда она достигает конца:

>>> def no_return():
...     pass     # No return statement.
...
>>> print(no_return())
None
 

Одной функции может иметь несколько Возвращение заявления. Выполнение функции заканчивается, когда один из этих Возвращение Заявления достигнуты:

 >>> def multiple_returns(n):
 ...    if(n):
 ...        return "First Return Statement"
 ...    else:
 ...        return "Second Return Statement"
 ...
 >>> print(multiple_returns(True))
 First Return Statement
 >>> print(multiple_returns(False))
 Second Return Statement
 

Одна функция может вернуть различные типы:

 >>> def various_return_types(n):
 ...     if(n==1):
 ...         return "Hello World."   # Return a string
 ...     elif(n==2):
 ...         return 42               # Return a value
 ...     else:
 ...         return True             # Return a boolean
 ... 
 >>> print(various_return_types(1))
 Hello World.
 >>> print(various_return_types(2))
 42
 >>> print(various_return_types(3))
 True

Даже возможно иметь одну функцию, вернуть несколько значений только с одним возвратом:

 >>> def return_two_values():
 ...     a = 40
 ...     b = 2
 ...     return a,b
 ...
 >>> print("First value = %d,  Second value = %d" %(return_two_values()))
 First value = 40,  Second value = 2

Увидеть Python Docs для получения дополнительной информации.