Аннотации типов
Пять шагов: что такое аннотация, как записать тип, как запустить проверку в Pylance и mypy, какие ошибки она находит и как расставить аннотации в своём проекте.
МДК.01.01 · разработка программных модулей · тема 04 · после структуры проекта
11 глав
Какие значения принимает функция,
что она обещает и как это проверить
Проект разложен по модулям и пакетам в теме 02, функции разнесены по файлам в практикуме темы 03. Эта тема отвечает на следующий вопрос: как понять, что делает функция из соседнего модуля, не читая её тело. Разбор идёт на одном проекте — «Отчёт кафе», его архив скачивается в первой главе.
Тема из двух частей. Первая — аннотации типов: как записать, какие значения принимает и возвращает функция, какие типы бывают и как Pylance и mypy проверяют вызовы до запуска программы. Вторая — документация: виды документации кода, устройство докстринга и PEP 257, четыре формата записи, двенадцать разобранных случаев, генератор заготовок в VS Code и проверка, которая находит пропущенные описания.
Сборка сайта документации на Sphinx — следующая тема. Здесь пишется то, из чего этот сайт собирается.
Порядок в списке — порядок изучения. Сначала аннотации: понятие, типы, проверка и практика на проекте. Итог этой практики — стартовый код второй части, про документацию: понятия и форматы, разбор случаев, рабочее место, практика и домашняя работа.
Пять шагов: что такое аннотация, как записать тип, как запустить проверку в Pylance и mypy, какие ошибки она находит и как расставить аннотации в своём проекте.
Виды документации, устройство докстринга, стандарт и четыре формата записи.
Разбор случаев на небольших функциях, настройка VS Code и работа со своим проектом.
Следующая тема: из написанных докстрингов собирается сайт с оглавлением и поиском.
Разбор во всех главах идёт на одном проекте. «Отчёт кафе» читает файл смены, считает выручку по официантам и печатает отчёт: десять модулей по пакетам, двенадцать тестов. Архивов три — по одному на этап. Каждый следующий получается из предыдущего: сначала в код добавляют аннотации, потом описания.
К концу темы студент
Order | None, Iterator, Callable.basic подчёркивает неверные вызовы, mypy app отвечает Success, строка его вывода читается по частям.Args, Returns, Raises, Yields, Attributes — по месту.pyproject.toml.ruff check проходит без замечаний, расхождение докстринга с подписью находится правилом D417.lesson_04 в личном репозитории, запрос на слияние, сохранённый вывод справки.