Статья

Python: функции и процедуры: разбор для ЕГЭ

3 сентября 2026~8 минут11 класс

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

Как функции помогают решить задачу быстрее

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

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

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

Общий вид определения такой:

def имя(параметры):
    команды
    return результат

Важно отличать определение от вызова. В строке def Python запоминает алгоритм. При вызове имя записывают со скобками: имя(аргумент).

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

Параметр — это переменная внутри определения функции. Аргумент — конкретное значение, переданное при вызове. В записи def square(x): переменная x является параметром. В выражении square(5) число 5 — аргумент.

Посмотри на последовательность выполнения:

def double(n):
    return 2 * n

\( a = double(7) \)
n получает значение 7
\( 2 * n = 14 \)
return 14
\( a = 14 \)

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

Параметров может быть несколько:

def rect(a, b):
    return a * b

\( rect(3, 4) = 12 \)

Значения сопоставляются по порядку: первый аргумент получает первый параметр, второй — второй. Поэтому количество аргументов должно совпадать с количеством обязательных параметров.

Совет репетитора

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

Область видимости и порядок выполнения

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

Рассмотрим пример:

\( x = 10 \)
def change(x):
\(     x = x + 3 \)
    return x

print(change(x))
print(x)
Ответ:
13
10

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

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

Если функция вызывает другую функцию, сначала полностью выполняется внутренний вызов, затем продолжает работу внешняя функция. Это важно при вычислении выражений вроде f(g(2)).

Как разобрать типовое задание ЕГЭ

Типичный вопрос просит определить значение переменной после выполнения программы с функцией. Алгоритм решения лучше не угадывать, а применять последовательно:

1. Найди строку определения функции.
2. Выпиши параметры и их значения при каждом вызове.
3. Выполни команды тела сверху вниз.
4. Остановись на return и запиши результат.
5. Подставь результат в основную программу.

Пример:

def calc(a, b):
    if a > b:
\(         return a - b \)
\(     return b - a \)

\( p = calc(4, 9) \)
\( q = calc(p, 2) \)
Ответ:
\( p = 9 - 4 = 5 \)
\( q = 5 - 2 = 3 \)

В первом вызове условие 4 > 9 ложно, поэтому срабатывает второй return. Во втором вызове условие 5 > 2 истинно, и функция возвращает разность.

Для закрепления можно бесплатно открыть практику в личном кабинете «Просто Урок» и решить несколько задач с функциями в спокойном темпе.

Какие ошибки чаще всего крадут баллы

Первая ловушка — путать print и return. print выводит значение на экран, но не передаёт его в переменную. Если функция содержит только print(x), результат вызова обычно равен None.

Вторая ошибка — неверный отступ. Все команды тела функции должны быть сдвинуты вправо относительно def. Условие и команды внутри него получают дополнительные отступы.

Третья ошибка — преждевременный return:

def test(x):
\(     return x + 1 \)
\(     return x + 2 \)

Вторая команда недостижима. Функция всегда вернёт только x + 1.

Четвёртая ошибка — забытая скобка при вызове или неправильное число аргументов. Полезно отдельно проверять каждую пару скобок.

Ловушка

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

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

Что запомнить перед тренировкой

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

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

ТерминЧто означает
ПараметрПеременная в определении функции
АргументЗначение при вызове
returnВозврат результата и завершение функции
printВывод на экран

Следующий шаг простой: зарегистрируйся в бесплатном личном кабинете «Просто Урок» и реши 5 заданий по теме. После такой практики станет заметно, какие места кода требуют повторения.

Частые вопросы

Чем функция отличается от процедуры?

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

Что делать, если в коде одинаковые имена переменных?

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

Как понять, какой return выполнится?

Иди по строкам сверху вниз. Выполнение остановится на первом return, до которого дошла программа.

Как закрепить тему после разбора?

Открой бесплатный личный кабинет «Просто Урок» и используй тренажёр: решай задания, а после ошибки возвращайся к строке, где возникла путаница.

Закрепить тему на практике

Теория без практики забывается за неделю. В личном кабинете Просто Урок — задания именно по этой теме с проверкой каждого шага. Регистрация бесплатная.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.