Модульный принцип

Функции — в отдельный файл, один раз и навсегда. 10 класс, углублённый уровень — занятие тринадцатое.

Уроки 25–26 поурочного плана: «Модульный принцип построения программ» и резервное время. В парах 10 и 11 вы написали код, код, код, код — и в каждой новой программе писали их заново. Сегодня — последний раз.

Одна функция — три копии

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

В одной копии нашли ошибку: 1 объявлена простой. Исправили. А две другие так и врут.

Модуль — это файл

файл mytools.py

фрагмент программы — набери его сам

файл main.py — рядом, в той же папке

фрагмент программы — набери его сам

Четыре способа подключить

ПодключениеКак звать функциюЧто появилось в программе
кодкододно имя код
кодкодимя код, а код — нет
кодкодкороткое имя код
кодкодвсе имена модуля

Проверки модуля — под защитой

фрагмент программы — набери его сам

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

У модуля свои имена

файл calc.py

фрагмент программы — набери его сам

файл main.py

фрагмент программы — набери его сам

Модуль выполняется один раз

фрагмент программы — набери его сам

Если бы в код была строка код — сколько раз она бы сработала?

Модуль подключает модуль

файл datetools.py

фрагмент программы — набери его сам

код пользуется код из того же модуля — программе про это знать не нужно. Ей хватит код.

Модульный принцип

  • Разбить программу на части с ясным назначением: числа — в код, даты — в код.
  • Договориться о каждой функции: имя, параметры, что возвращает. Это обещание модуля — его интерфейс. Кто подключает, не заглядывает внутрь.
  • Проверить модуль отдельно — под код.
  • Подключать, а не копировать.

Что делаем сегодня

  1. Тренажёр — шесть задач: что напечатает импорт, код, чьё имя, импорт один раз, где упадёт, цепочка модулей.
  2. Два модуля из своих функций прошлых пар: код (код, код) и код (код, код).
  3. Три программы, которые их подключают: простые числа, дни между датами, счастливые даты — третья берёт функции из обоих модулей.
  4. Проверка оболочкой — код: модуль при импорте молчит, функции возвращают верное, программа берёт их из модуля, а не пишет заново.

Отметка: три задания — «5», два — «4», одно — «3». Все пять файлов — в одну новую папку.

За работу

Сначала тренажёр, потом модули, потом три программы.

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

Материалы подготовлены с использованием технологий искусственного интеллекта. Пробел раскрыть и дальше · ← → слайды