Функции Python (def): определение с примерами

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

Видео: Введение в функции Python

Что такое функция в Python?

В Python функция - это группа связанных операторов, выполняющих определенную задачу.

Функции помогают разбить нашу программу на более мелкие и модульные части. По мере того, как наша программа становится все больше и больше, функции делают ее более организованной и управляемой.

Кроме того, это позволяет избежать повторения и позволяет многократно использовать код.

Синтаксис функции

 def имя_функции (параметры): "" "строка документации" "" инструкция (и)

Выше показано определение функции, которое состоит из следующих компонентов.

  1. Ключевое слово def, обозначающее начало заголовка функции.
  2. Имя функции для однозначной идентификации функции. Именование функций следует тем же правилам написания идентификаторов в Python.
  3. Параметры (аргументы), через которые мы передаем значения функции. Они не являются обязательными.
  4. Двоеточие (:) для обозначения конца заголовка функции.
  5. Необязательная строка документации (docstring) для описания того, что делает функция.
  6. Один или несколько допустимых операторов Python, составляющих тело функции. Заявления должны иметь одинаковый уровень отступа (обычно 4 пробела).
  7. Необязательный returnоператор для возврата значения из функции.

Пример функции

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Как вызвать функцию в Python?

После того, как мы определили функцию, мы можем вызвать ее из другой функции, программы или даже из командной строки Python. Чтобы вызвать функцию, мы просто набираем имя функции с соответствующими параметрами.

 >>> greet('Paul') Hello, Paul. Good morning!

Примечание. Попробуйте запустить приведенный выше код в программе Python с определением функции, чтобы увидеть результат.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Строки документации

Первая строка после заголовка функции называется строкой документации и является сокращением от строки документации. Он кратко используется для объяснения того, что делает функция.

Хотя это необязательно, документация является хорошей практикой программирования. Если вы не помните, что ели на ужин на прошлой неделе, всегда документируйте свой код.

В приведенном выше примере у нас есть строка документации сразу под заголовком функции. Обычно мы используем тройные кавычки, чтобы строка документа могла занимать несколько строк. Эта строка доступна нам как __doc__атрибут функции.

Например :

Попробуйте запустить в оболочке Python следующую команду, чтобы увидеть результат.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Чтобы узнать больше о строках документации в Python, посетите страницу Python Docstrings.

Заявление о возврате

Оператор returnиспользуется для выхода из функции и возврата в то место, откуда она была вызвана.

Синтаксис возврата

 возврат (список_выражений)

Этот оператор может содержать выражение, которое оценивается и возвращается значение. Если в операторе нет выражения или самого returnоператора нет внутри функции, функция вернет Noneобъект.

Например:

 >>> print(greet("May")) Hello, May. Good morning! None

Здесь None- возвращаемое значение, так как greet()напрямую выводится имя, и никакой returnоператор не используется.

Пример возврата

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Вывод

 2 4

Как функция работает в Python?

Работа функций в Python

Объем и время жизни переменных

Область действия переменной - это часть программы, в которой переменная распознается. Параметры и переменные, определенные внутри функции, не видны снаружи функции. Следовательно, они имеют локальный охват.

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

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

Вот пример, иллюстрирующий область действия переменной внутри функции.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Вывод

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Встроенные функции - функции, встроенные в Python.
  2. Пользовательские функции - функции, определяемые самими пользователями.

Интересные статьи...