Оператор возврата Python используется для возврата значений из функции. Мы можем использовать оператор возврата только внутри функции. Его нельзя использовать вне функции Python.
Функция Python без оператора возврата
Каждая функция в Python возвращает что-то. Если в функции нет оператора возврата, то она возвращает None
.
def print_something(s):
print('Printing::', s)
output = print_something('Hi')
print(f'A function without return statement returns {output}')
Вывод:

Пример оператора возврата Python
Мы можем выполнить какие-то операции в функции и вернуть результат вызывающему с использованием оператора возврата.
def add(x, y):
result = x + y
return result
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Вывод:

Оператор возврата Python с выражением
Мы также можем использовать выражения в операторе возврата. В этом случае выражение оценивается, и результат возвращается.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Вывод:

Python возвращает булево значение
Давайте рассмотрим пример, где мы будем возвращать булево значение аргумента функции. Мы будем использовать функцию bool(), чтобы получить булево значение объекта.
def bool_value(x):
return bool(x)
print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')
Вывод:

Python возвращает строку
Давайте рассмотрим пример, где наша функция будет возвращать строковое представление аргумента. Мы можем использовать функцию str(), чтобы получить строковое представление объекта.
def str_value(s):
return str(s)
print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')
Вывод:

Python возвращает кортеж
Иногда мы хотим преобразовать несколько переменных в кортеж. Давайте посмотрим, как написать функцию, чтобы возвращать кортеж из переменного числа аргументов.
def create_tuple(*args):
my_list = []
for arg in args:
my_list.append(arg * 10)
return tuple(my_list)
t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')
Вывод:

Дополнительное чтение: Python *args и **kwargs
Python функция, возвращающая другую функцию
Мы также можем возвращать функцию с помощью оператора return. Это аналогично каррированию, технике, которая заключается в том, чтобы преобразовать вычисление функции с несколькими аргументами в последовательное вычисление функций, каждая из которых принимает один аргумент.
def get_cuboid_volume(h):
def volume(l, b):
return l * b * h
return volume
volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')
cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')
Вывод:

Python функция, возвращающая внешнюю функцию
Мы также можем возвращать функцию, которая определена вне текущей функции с использованием оператора return.
def outer(x):
return x * 10
def my_func():
return outer
output_function = my_func()
print(type(output_function))
output = output_function(5)
print(f'Output is {output}')
Вывод:

Python возврат нескольких значений
Если вы хотите вернуть несколько значений из функции, вы можете вернуть кортеж, список или объект словаря в зависимости от ваших требований. Однако, если вам нужно вернуть большое количество значений, использование последовательности – это слишком ресурсозатратная операция. В этом случае мы можем использовать yield, чтобы поочередно возвращать несколько значений.
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
# отображение значений
for i in a:
print(i)
Вывод:

Резюме
Оператор return в Python используется для возвращения результата из функции. Мы узнали, что мы также можем вернуть функцию из другой функции. Также выражения вычисляются, а затем результат возвращается из функции.
Вы можете проверить полный скрипт на Python и больше примеров на Python в нашем репозитории GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement