Перейти к основному содержимому

Функции в Python

Функция — это именованный блок кода, который бездействует, пока вы его не вызовете.

Она может возвращать данные в качестве результата.

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


Создание функции

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

В следующем разделе так определяется функция с именем my_function. При каждом вызове она выводит «Hello from a function».

Сделайте отступ для кода, который относится к функции, потому что именно отступами Python обозначает блок кода.


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

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

Одну и ту же функцию можно вызывать сколько угодно раз.

Пример

Prompt
Напишите функцию Python с именем my_function, которая выводит «Привет из функции». Вызовите функцию один раз.
Вывод: полная программа на Python

Пример

Prompt
Напишите функцию Python с именем my_function, которая выводит «Привет из функции». Вызовите функцию три раза.
Вывод: полная программа на Python

Имена функций

Имена функций выбираются так же, как имена переменных в Python:

  • Первым символом должна быть буква или символ подчёркивания
  • Допускаются только буквы, цифры и символы подчёркивания
  • Верхний и нижний регистр различаются, поэтому myFunction и myfunction — два разных имени

Выбирайте понятное имя, которое говорит, что делает функция.

main.py
calculate_sum()
_private_function()
myFunction2()

Зачем нужны функции?

Допустим, ваша программа должна в нескольких местах переводить температуру из градусов Фаренгейта в градусы Цельсия. Без функций одно и то же вычисление придётся писать снова и снова.

Функция позволяет написать его один раз, а затем использовать везде, где нужно.

Пример

Повторяющийся код, без функции:

Prompt
Переведите три температуры (77, 95, 50) из градусов Фаренгейта в градусы Цельсия без использования функций. Выведите каждый результат.
Вывод: полная программа на Python

Пример

Повторно используемый код, с функцией:

Prompt
Создайте функцию fahrenheit_to_celsius, которая переводит градусы Фаренгейта в градусы Цельсия. С её помощью переведите и выведите 77, 95 и 50.
Вывод: полная программа на Python

Возвращаемые значения

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

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

Это значение можно сохранить в переменной или сразу использовать.

Если оператора return совсем нет, функция возвращает None.

Пример

Сохранение возвращаемого значения в переменной:

Prompt
Создайте функцию get_greeting, которая возвращает «Привет из функции». Сохраните возвращаемое значение в переменной и выведите его.
Вывод: полная программа на Python

Пример

Вывод возвращаемого значения сразу:

Prompt
Создайте функцию get_greeting, которая возвращает «Привет из функции». Выведите возвращаемое значение напрямую, не сохраняя его.
Вывод: полная программа на Python

Оператор pass

У определения функции должно быть тело. Для функции-заглушки, в которой ещё нет кода, напишите внутри неё оператор pass.

Разработчики часто используют pass, чтобы сначала наметить структуру программы, а детали добавить позже.

Пример

Prompt
Создайте пустую функцию my_function с помощью оператора pass.
Вывод: полная программа на Python