English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Контроль потока Python

Функции в Python

Типы данных Python

Операции с файлами Python

Объекты и классы Python

Даты и время Python

Продвинутые знания Python

Руководство Python

Функции в Python

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

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

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

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

Кроме того, это предотвращает повторение одинакового кода, функция делает код повторно используемым.

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

def function_name(parameters):
	"""docstring"""
	statement(s)

На экране показана функция, состоящая из следующих компонентов.

  1. Ключевое слово def标志着函数头的开始。

  2. Имя функции используется для уникальной идентификации функции. Имя функции следуетВ Python пишут идентификаторы的相同Правила.

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

  4. Точка с запятой (:)标志着函数 заголовка.

  5. Опциональная документация (docstring), используемая для описания функции.

  6. Одна или несколько эффективных python-утверждений, составляющих тело функции. Утверждения должны иметь одинаковый уровень отступа (обычно 4 пробела).

  7. Опциональная команда return, используемая для возвращения значения из функции.

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

def greet(name):
    """
    Это функция для приветствия
    Передается через параметр name
    Имя человека для приветствия
    """
    print("Привет, " + name + ". Доброе утро!")

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

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

>>> greet('Paul')
Привет, Paul. Доброе утро!

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

def greet(name):
    """
    Это функция для приветствия
    Передается через параметр name
    Имя человека для приветствия
    """
    print("Привет, " + name + ". Доброе утро!")
greet('Paul')

Docstrings (документация)

Первая строка после заголовка функции называется docstring и является аббревиатурой от документации функции. Кратко описывает функцию.

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

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

Например:

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

>>> print(greet.__doc__)
    Это функция для приветствия
    Передается через параметр name
    Имя человека для приветствия

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

Команда return

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

Грамматика возврата

return [expression_list]

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

Например:

>>> print(greet("May"))
Привет, Май. Доброе утро!
None

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

return пример

def absolute_value(num):
    """Эта функция возвращает абсолютное значение вводимого числа"""
    if num >= 0:
        return num
    else:
        return -num
print(abs(2))
print(abs(-4))

Результат вывода

2
4

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

Как работают функции в Python

Домен и жизненный цикл переменной

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

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

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

Это пример, который используется для объяснения жизни переменных внутри функции.

def my_func():
	x = 10
	print("Значение внутри функции:", x)
x = 20
my_func()
print("Значение вне функции:", x)

Результат вывода

Значение внутри функции: 10
Значение вне функции: 20

Здесь мы можем увидетьxее начальное значение 20. Даже если функция my_func() изменитxее значение изменено на 10, это также не повлияет на значение переменной вне функции.

Это потому, что переменная внутри функцииx сПеременная x вне функцииНо они являются двумя различными переменными с разным диапазоном действия.

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

Мы можем читать эти значения изнутри функции, но не можем изменять (записывать) их. Если нужно изменить значение переменной вне функции, необходимо использовать ключевое слово global и объявить их как глобальные переменные.

Тип функции

В основном, функции можно разделить на два типа:

  1. Внутренние функции - функции, встроенные в Python.

  2. Функции, определяемые пользователем -пользовательОпределенные функции.