Теория
Функция задаёт именованное вычисление
Функция объединяет несколько команд под понятным именем. Параметры обозначают данные, с которыми работает функция, а аргументы при вызове передают конкретные значения.
Тело функции выполняется только при вызове. Хорошее имя описывает результат или действие и позволяет читать основную программу без повторения деталей.
def rectangle_area(width, height): return width * height area = rectangle_area(3, 5)От аргумента к результату
При вызове аргументы связываются с параметрами, затем выполняется тело. Команда return завершает вызов и подставляет результат туда, где находилось выражение вызова.
print и return решают разные задачи: print показывает значение человеку, return передаёт его следующей части программы.
- Параметр width получает 3, height получает 5.
- Тело вычисляет произведение 15.
- return передаёт 15 в присваивание переменной area.
Печать не заменяет возврат
Если функция только печатает ответ, выражение с её вызовом получает None. Такой результат нельзя надёжно передать другой функции или использовать в дальнейшей формуле.
Как проверить функцию
Сначала сформулируйте контракт: какие значения функция получает и что возвращает. Затем подставьте маленькие аргументы и проследите только локальные переменные одного вызова.
- Назовите вход. Сопоставьте каждый аргумент с параметром.
- Выполните тело. Используйте локальные значения текущего вызова.
- Найдите return. Определите значение, которое уйдёт наружу.
- Используйте результат. Проверьте место присваивания или внешний вызов.
Практика
Проследите вызов функции
Внутри функции вычисляется 4 * 2. Команда `return` передаёт результат 8 в место вызова.
Подставьте два аргумента
width получает 3, height — 5. Произведение равно 15.
Используйте возвращённое значение
Функция вычисляет 4 + 1 и возвращает 5, поэтому result получает 5.
Верните результат
Ключевое слово `return` завершает вызов и передаёт вычисленное значение наружу.
Проверьте логическую функцию
Сравнение 0 == 0 истинно, поэтому функция возвращает `True`.
Итог
Теперь вы можете описать вход и выход функции, проследить вызов и вернуть значение для дальнейших вычислений.
Напишите функцию с двумя параметрами, сначала предскажите три результата вручную, затем используйте один вызов как аргумент другой функции.
Прогресс
0 / 5Вы ещё не решали задания