Автор оригинала: Pankaj Kumar.
Заявление о возврате Python используется для возврата значений из функции. Мы можем использовать оператор возврата только в функции. Он не может быть использован вне функции Python.
Функция Python без оператора возврата
Каждая функция в Python возвращает что-то. Если функция не имеет никакого оператора возврата, то он возвращает Нет
Отказ
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
Заявление о возврате Python с выражением
Мы можем иметь выражения также в операторе возврата. В этом случае выражение оценивается, и результат возвращается.
def add(x, y): return x + y output = add(5, 4) print(f'Output of add(5, 4) function is {output}')
Выход:
Заявление о возврате Python с выражением
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 возвращает логию
Python Return String.
Давайте посмотрим на пример, где наша функция вернет строковое представление аргумента. Мы можем использовать функцию 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 Return String.
Питон возвращает кортеж
Иногда мы хотим преобразовать ряд переменных в кортеж. Давайте посмотрим, как написать функцию, чтобы вернуть кортеж из переменного числа аргументов.
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 Функция Возврат кортеж
Дальнейшее чтение : Python * args и ** Kwargs
Функция Python возвращает другую функцию
Мы можем вернуть функцию также из оператора возврата. Это похоже на Carrying , который является методикой перевода оценки функции, которая принимает несколько аргументов в оценку последовательности функций, каждый с одним аргументом.
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
Функция Python возвращая внешнюю функцию
Мы также можем вернуть функцию, которая определяется за пределами функции с оператором возврата.
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 возвращает внешнюю функцию
Python вернуть несколько значений
Если вы хотите вернуть несколько значений из функции, вы можете вернуть объект кортежа, списка или словаря согласно вашему требованию.
Однако, если вам нужно вернуть огромное количество значений, то использование последовательности – это слишком много ресурсов. В этом случае мы можем использовать доходность, чтобы вернуть несколько значений один за другим.
def multiply_by_five(*args): for arg in args: yield arg * 5 a = multiply_by_five(4, 5, 6, 8) print(a) # showing the values for i in a: print(i)
Выход:
Python return vs доход
Резюме
Заявление о возврате Python используется для возврата вывода из функции. Мы узнали, что мы также можем вернуть функцию из другой функции. Кроме того, выражения оцениваются, а затем результат возвращается из функции.