Конспект урока
Курс: Основы программирования на Python
Уровень: Программирование для начинающих
1. Нужны ли функции?
Функции в программировании можно представить как изолированный блок кода, обращение к которому в течение выполнения программы может быть многократным. Зачем нужны такие блоки инструкций? В первую очередь, чтобы сократить объем исходного кода: рациональней вынести часто повторяющиеся выражения в отдельный блок и, затем, по мере надобности, обращаться к нему.
Представим себе следующую ситуацию. Требуется написать скрипт, который при исполнении должен три раза запрашивать у пользователя разные данные, но выполнять с ними одни и те же действия.
Данная программа находит модуль разницы двух чисел. Очевидно, что такая запись исходного кода не рациональна: три почти одинаковых блока. На самом деле можно было бы использовать цикл while для организации повторения.
Однако, в этом случае есть небольшая проблема. Вводимые пользователем данные всегда связываются с переменными a и b. При каждом витке цикла старые данные теряются. Но что делать, если ссылку на вводимые пользователем данные (все шесть чисел) надо сохранить для дальнейшего использования этих самых данных в программном коде. В данном случае поможет использование функций.
2. Программирование функций на python
Предыдущий скрипт, но уже с использованием функций на языке программирования Python, может выглядеть так:
Разберем представленный программный код. def – это инструкция (команда) языка программирования Python, позволяющая создавать функцию. schet – это имя функции, которое (так же как и имена переменных) может быть почти любым, но желательно смысловым. Далее идет двоеточие, обозначающее окончание заголовка функции (аналогично с условиями и циклами). После заголовка, с новой строки и с отступом, следуют выражения тела функции. В конце тела функции присутствует инструкция return (которой может и не быть), она передает то или иное значение в основную ветку программы. Если бы в функции не было инструкции return, то в основную программу ничего бы не возвращалось и переменным c и d (или e и f, а также z и x) ничего не присваивалось.
После функции идет, так называемая, основная ветка программы, в которой переменным попарно присваивается результат выполнения вызываемой функции. На самом деле вызов функции может ничему и не присваиваться.
Выражения тела функции выполняются лишь тогда, когда она вызывается в основной ветке программы. Так, например, если функция присутствует в исходном коде, но нигде не вызывается в нем, то содержащиеся в ней инструкции не будут выполнены ни разу.
3. Практическая работа
- По аналогии с примером представленным в уроке напишите скрипт, в котором бы в теле функции производились вычисления со значениями трех переменных.
- Придумайте программу, в которой бы присутствовали две функции, основная ветка программы содержала не менее 10 строк, и каждая функция вызывалась как минимум один раз.