Подпрограммы
Подпрограмма - это отдельная часть программы, имеющая имя и решающая свою отдельную задачу. Располагается подпрограмма в начале основной программы и может быть запущена (вызвана) из основной программы по указанию имени.
Использование подпрограмм позволяет избежать дублирования кода, в случае если необходимо один и тот же код писать в разных местах программы.
Библиотеки, которые импортируются в программу (например, математическая библиотека math) состоят из подпрограмм, которые уже кем-то составлены. Программистам не нужно думать о том, какие алгоритмы в них реализованы, а просто применяют их, задумываясь только о том, что именно они делают. Это большая экономия времени. Нет нужды писать алгоритм, который уже был кем-то написан.
Каждая подпрограмма
должна решать только одну задачу, либо только что-то вычислять, либо выводить какие-либо данные, либо делать что-то еще.
Подпрограммы бывают двух типов -
процедуры и
функции.
Подпрограммы-процедуры выполняют некоторые действия, например, выводят результат на экран в определенном виде (простой пример, оператор
print()
- это стандартная подпрограмма-процедура, которая выводит данные на экран).
Подпрограммы-функции
возвращают результат (число, символьную строчку и т.д.), который мы можем использовать в основной программе.
Давайте попробуем написать простую процедуру:
Предположим, что нам нужно выводить на экран строку "Error" каждый раз, когда в коде может возникнуть ошибка по вине пользователя Например, когда он вводит неверные данные.
Это можно сделать, написав оператор
print("Error")
А теперь представим, что такую строчку нужно вставить во многих местах программы. Конечно, можно везде ее просто написать. Но это решение имеет два недостатка.
1) Данная строка будет храниться в памяти много раз.
2) Если мы захотим изменить вывод при ошибке, то придется менять эту строку по всей программе, что достаточно неудобно
Для таких случаев процедуры и нужны.
Программа с процедурой может выглядеть следующим образом:
def printError(): # описание процедуры
print("Error")
...
printError() # запуск процедуры на выполнение.
# Просто указываем имя процедуры, которую хотим выполнить
...
printError()
Надо запомнить!
- Процедура начинается со слова
def
(от англ. - define - определить). После имени процедуры записаны пустые скобки и двоеточие. Внутри скобок можно указывать параметры (об этом будем говорить позднее).
- Все операторы, которые выполняются в процедуре, записываются с отступом.
- Чтобы выполнить процедуру, в основной программе необходимо вызвать ее по имени и не забыть написать скобки!
- Вызывать процедуру в программе можно сколько угодно раз.