Функции в Python: как не повторять один и тот же код

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

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

Почему повторяющийся код становится проблемой

Пока программа маленькая, копирование нескольких строк кажется безобидным. Но если правило расчёта изменится, придётся искать все его версии и надеяться, что ни одна не пропущена. Функция хранит правило в одном месте: исправление делается один раз и работает во всех вызовах.

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

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

Аргументы и возвращаемое значение

Аргументы передают функции данные, с которыми она должна работать. В строке def calculate_order_total(price, quantity) параметры price и quantity получают конкретные значения при вызове функции.

Ключевое слово return возвращает результат обратно в программу. Оно отличается от print(): печать показывает значение на экране, а return позволяет сохранить его в переменную и использовать в следующем шаге.

Эта разница становится особенно заметной, когда результат нужен не человеку, а другой части программы. Например, сумму заказа нужно не просто вывести в консоль, а передать в платёжный сервис, сохранить в базу данных или включить в ответ API. Для всех этих сценариев нужен возвращаемый результат.

Небольшой пример

def calculate_order_total(price, quantity):
    return price * quantity

price = 199
quantity = 3
total = calculate_order_total(price, quantity)

print("К оплате:", total)

Параметры price и quantity получают конкретные значения при вызове функции. Ключевое слово return возвращает результат, поэтому его можно сохранить и использовать дальше.

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

Что почитать дальше

Функции лучше всего понимаются через разные задачи: один раз они считают сумму, другой — проверяют данные или готовят ответ. В курсе «Python: основы» этот навык закрепляется постепенно, вместе с другими базовыми конструкциями языка.

Назад к списку

Обучение и развитие