КОНСПЕКТ ПРЕПОДАВАТЕЛЯ · C22

Модули и окружение проекта

Формат и цель

Практику с файлами, окружением, модулями и pytest проверяем в локальной папке проекта. Браузерный редактор подходит для отдельных фрагментов логики. Консольная программа на Python. Ученик пишет код, запускает его и проверяет текстовый результат. На занятие можно отвести 45–60 минут; темп меняется по опыту группы.

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

Подготовка и демонстрация

Открой урок и заранее запусти пример в браузере. Для локального проекта подготовь Python 3 и редактор. Покажи входные данные и ожидаемый вывод, затем измени один параметр и попроси предсказать результат.

Порядок занятия

  1. 5 минут: покажи итог «Викторина из модулей» и обсуди, какие данные нужны программе.
  2. 15 минут: разбери блоки теории, после каждого попроси объяснить одну строку своими словами.
  3. 15 минут: самостоятельные задачи во вкладке «Задачи», затем сравнение подходов.
  4. 15–20 минут: мини-проект, проверка обычных и граничных случаев.
  5. 5 минут: сохранение main.py и README, короткая демонстрация решения.

Учебные темы

  • 1. Модуль — Python-файл
  • 2. Точка входа и повторное использование
  • 3. Стандартная библиотека и venv
  • 4. Аргументы запуска и README

Вопрос группе

Зачем нужен if __name__ == "__main__"?

Ориентир для обсуждения

Он запускает main только при прямом запуске файла, позволяя импортировать функции без запуска диалога.

Типичные трудности

  • Назвать свой модуль как стандартный и сломать импорт.
  • Запускать input во время импорта вспомогательного модуля.
  • Добавить .venv в репозиторий или забыть команду запуска.

Критерии готового проекта

Раздели знакомую викторину на данные, правила и запуск; путь к вопросам передавай аргументом.

  • Импорт quiz не задаёт вопросов.
  • Путь --data действительно выбирает файл.
  • Проект запускается по README из чистой папки.

Проси показать результат и объяснить ключевое решение. Совпадение одного примера вывода не заменяет проверку остальных случаев.

Задание мини-проекта и пример результата →