Процедуры в Python.
Процедуры — это отдельные подпрограммы, входящие в основную программу или отдельная часть программы, имеющая имя.
Вызвать процедуру — значит записать её имя с круглыми скобками, в которых перечисляются аргументы — данные, передаваемые процедуре.
Параметры — это данные, которые принимает процедура. В процедуре они обозначаются имена.
Рефакторинг — это изменение программы, которое не влияет на результат ее работы, но делает её более понятной для человека.
Компьютерная графика в Python требует использование процедур.
Рассмотрим такую программу, которая рисует домик на экране¹
penColor ("black")
brushColor ("green")
rectangle (100, 100, 200, 200)
brushColor ("brown")
polygon ([(90, 100), (150, 50), (210, 100), (90, 100)])
penColor ("white")
penSize (3)
brushColor ("black")
rectangle (120. 140. 150. 140)
line(135, 140, 150, 170) Блоки программы отделяются пустыми строками. Каждый блок выполняет свою функцию:
- первый рисует основную часть домика ;
- второй рисует крышу;
- третий — окно.
Если запустить выше предложенную программу, то будет ясно, что окно нарисовано неправильно. Для того, чтобы найти ошибку нужно определить где находится блок рисования окна.
Для облегчения задачи определения блока окна, в программе пишут комментарии:
# основная часть домика
penColor ("black")
brushColor ("green")
rectangle (100, 100, 200, 200)
# крыша
brushColor ("brown")
polygon ([(90, 100), (150, 50), (210, 100), (90, 100)])
# окно
penColor ("white")
penSize (3)
brushColor ("black")
rectangle (120. 140. 150. 140)
line(135, 140, 150, 170) Кроме комментариев есть и другой прием. Можно оформить блоки рисования каждой части домика как отдельные вспомогательные алгоритмы (подпрограммы или процедуры) и дать им имена, например: frame (по-английски — сруб, основная часть дома), roof (крыша) и window (окно). Получается такая программа:
def frame():
penColor ("black")
brushColor ("green")
rectangle (100, 100, 200, 200)
def roof():
penColor ("black")
brushColor ("brown")
polygon ([90,100), (150,50), (210, 100), (90, 100)])
def window():
penColor ("white")
penSize (3)
brushColor ("black")
rectangle (120, 120, 150, 170)
line (120, 140, 150, 140)
line (135, 140, 150, 170)
frame ()
roof ()
window () Три строчки программы и есть основная программа. Видно, что основная программа состоит из трех команд — вызов процедур.
Если раньше были показаны использование команд из встроенной библиотеки языка Python, то сейчас представили процесс создания команд самостоятельно.
Компьютер выполняет ряд действий при вызове этих процедур с помощью служебных слов def (от английского слова define — определить). После слова def в программе записывают имя новой процедуры, круглые скобки и двоеточие.
Все команды, которые входят в процедуру, записывают в следующих строках с одинаковым сдвигом вправо, например, на два или четыре символа.
Основная программа, где вызываются процедуры, записывается без отступа, начиная с первой позиции строки.
Исходя из выше изложенного становится ясно, что, если неправильно рисуется окно, ошибку искать надо в процедуре window, которая занимается рисованием окна.
В программировании действия, которые описаны в данной статье называют рефакторингом.
Рефакторинг — это изменение программы, которое не влияет на результаты работы программы, но делает ее более понятной человеку.
¹Здесь и далее для сокращения записи каждый раз не пишется команда импорта модуля graph и команду run в конце программы.
forum Обсуждение (0)
+ Оставить отзывПока нет комментариев
Вы можете задать вопрос по учебному материалу первым!