Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте "экосистемы" Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости. В модуле рассматриваются аспекты функционального, процедурного и ОО программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач.
Тема 1: Структура проекта, управление зависимостями, настройка окружения: обзор и лучшие практики//ДЗ
Тема 2: Дистрибуция кода и развертывание: путь от лэпота до кластера
Тема 3: Аннотации типов: уровень nightmare! //ДЗ
Тема 4: Внутренности: байткод, его исполнение и виртуальная машина//ДЗ
Тема 5: Внутренности: устройство основных типов, управление памятью и GIL
Тема 6: ООП: Объектная модель и особенности ООП в Python//ДЗ
Тема 7: ООП: Дескрипторы и метапрограммирование
Тема 8: Тестирование: pytest и как писать тесты//ДЗ
Тема 9: Тестирование: (анти)паттерны и инструменты
Тема 10: Дизайн кода и архитектура: абстракции, модульность, SOLID
Тема 11: Дизайн кода и архитектура: domain driven design, чистая архитектура//ДЗ
Тема 12: Дизайн кода и архитектура: event driven архитектура, микросервисы
Тема 13: Дизайн кода и архитектура: паттерны проектирования