Python def return function

Функции в Python (def, return)

Функции в Python (def, return)

Статьи

Введение

В данной статье узнаем про ключевое слово def и как его использовать, а также об операторе return.

Определение функции в Python

Чтобы создать функцию в Python, необходимо использовать ключевое слово def. Синтаксис выглядит следующим образом:

def название_функции(аргументы): блок_кода return результат
  • название_функции – уникальное имя функции;
  • аргументы – параметры, которые функция принимает. Может быть пустым, если функция не принимает аргументов;
  • блок кода – блок операторов, который выполняется при вызове функции;
  • return – оператор, который возвращает результат выполнения функции. Необязательный, т.к. функция может ничего не возвращать.

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

def sum_numbers(a, b): result = a + b return result

Вызов функции

Чтобы функция сработала, её нужно вызвать. Пример вызова функции:

def sum_numbers(a, b): return result print(sum_numbers(10, 5)) # Вывод: 15

Необязательные аргументы функции

Также в функцию можно добавлять необязательные аргументы. Для этого при её создании нужно указать значение по умолчанию для аргумента:

def sum_numbers(a, b=5): result = a + b return result

Таким образом аргумент b стал необязательным, и его можно не указывать при вызове функции:

def sum_numbers(a, b=5): result = a + b return result print(sum_numbers(10)) # Вывод: 15

Оператор return

Теперь поговорим про оператор return более подробно. И так, данный оператор возвращает результат выполнения функции. Т.е. после его срабатывания функция перестаёт работать, даже если после него идёт какой-то код.

def sum_numbers(a, b=5): return a + b print('Привет') sum_numbers(10) # Вывод: 15

В примере выше будет возвращён результат выполнения функции в виде суммы a + b, а функция print() будет проигнорирована.

Читайте также:  Java массив или list

Возвращение нескольких значений

Функция также может возвращать несколько значений в виде кортежа:

def sum_numbers(a, b): return a, b print(sum_numbers(10, 5)) # Вывод: (10, 5)

Заключение

В ходе статьи мы с Вами узнали про функции в Python, в частности о ключевом слове def и операторе return. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Источник

Что делает return в Python?

Функция print() записывает, то есть «печатает», строку или число на консоли. Оператор return не выводит значение, которое возвращается при вызове функции. Это, однако, приводит к немедленному завершению или завершению функции, даже если это не последний оператор функции.

Во многих других языках функция, которая не возвращает значение, называется процедурой.

В данном коде значение, возвращаемое (то есть 2) при вызове функции foo(), используется в функции bar(). Эти возвращаемые значения печатаются на консоли только тогда, когда используются операторы печати, как показано ниже.

Пример

def foo(): print("Hello from within foo") return 2 def bar(): return 10*foo() print foo() print bar()

Вывод

Hello from within foo 2 Hello from within foo 20

Мы видим, что когда foo() вызывается из bar(), 2 не записывается в консоль. Вместо этого он используется для вычисления значения, возвращаемого из bar().

Пример оператора return Python

Давайте посмотрим на простой пример сложения двух чисел и возврата суммы вызывающему абоненту.

def add(x, y): total = x + y return total

Мы можем оптимизировать функцию, указав выражение в операторе возврата.

Каждая функция что-то возвращает

Давайте посмотрим, что возвращается, когда функция не имеет оператора возврата.

>>> def foo(): . pass . >>> >>> print(foo()) None >>>

функция Return возвращает None

Что произойдет, если в операторе ничего нет?

Когда оператор return не имеет значения, функция возвращает None.

>>> def return_none(): . return . >>> print(return_none()) None >>>

Может иметь несколько операторов

def type_of_int(i): if i % 2 == 0: return 'even' else: return 'odd'

Функция может возвращать несколько типов значений

В отличие от других языков программирования, функции Python не ограничиваются возвратом значений одного типа. Если вы посмотрите на определение функции, в нем нет никакой информации о том, что она может вернуть.

Читайте также:  Название документа

Давайте посмотрим на пример, в котором функция возвращает несколько типов значений.

def get_demo_data(object_type): if 'str' == object_type: return 'test' elif 'tuple' == object_type: return (1, 2, 3) elif 'list' == object_type: return [1, 2, 3] elif 'dict' == object_type: return else: return None

Возврат нескольких значений в одном операторе

Мы можем вернуть несколько значений из одного оператора возврата. Эти значения разделяются запятой и возвращаются вызывающей программе в виде кортежа.

def return_multiple_values(): return 1, 2, 3 print(return_multiple_values()) print(type(return_multiple_values()))

Python Возвращает Несколько Значений

С блоком finally

Как работает оператор return внутри блока try-except? Сначала выполняется код блока finally перед возвратом значения вызывающей стороне.

def hello(): try: return 'hello try' finally: print('finally block') def hello_new(): try: raise TypeError except TypeError as te: return 'hello except' finally: print('finally block') print(hello()) print(hello_new())
finally block hello try finally block hello except

Если в блоке finally есть оператор return, то предыдущий оператор return игнорируется и возвращается значение из блока finally.

def hello(): try: return 'hello try' finally: print('finally block') return 'hello from finally' print(hello())
finally block hello from finally

Источник

Оцените статью