Чему вы научитесь
- понимать, когда нужен класс, и объяснять роль `self` и `__init__`;
- защищать состояние через property, setter и единый инвариант;
- создавать неизменяемые объекты-значения с `dataclass`;
- связывать сервисы и репозитории композицией;
- применять ABC и полиморфизм без цепочек `isinstance`;
- реализовывать `len`, `in`, итерацию, `repr`, равенство и hash по контракту;
- безопасно освобождать ресурсы через context manager;
- собирать сущности, repository и use case в один прикладной сценарий.
О курсе
Научитесь превращать функции и словари в понятную модель приложения: с валидными объектами, явными зависимостями и публичными контрактами, которые выдерживают изменение реализации. Финальный результат — взаимодействующая модель BookHub с сущностями, репозиториями и сценариями использования.
Для кого этот курс
- Для выпускников базовой Python-линейки, уверенно работающих с функциями, коллекциями и исключениями.
- Для студентов, которые знают синтаксис классов, но пока не понимают границы ответственности.
- Для начинающих backend-разработчиков перед переходом к тестам, пакетам и архитектурным слоям.
- Для авторов прикладных скриптов, которым стало трудно расширять код из словарей и функций.
Начальные требования
Нужны функции, списки и словари, циклы, исключения, импорт и чтение небольших фрагментов Python. Не нужны web-фреймворки, базы данных, метаклассы, pytest или опыт коммерческой разработки.
Преподаватели курса
Как проходит обучение
Каждый новый механизм сначала разбирается на исполняемом примере. Затем студент решает задачи с видимыми именованными сценариями, состояниями и отрицательными ветвями. Каркас постепенно сокращается, а модульные результаты сходятся в BookHub.
Что вы получите
- 117 проверяемых ООП-контрактов;
- сохраняемый starter project из семи взаимодействующих типов;
- публичные сценарии для сущностей, репозиториев и use case;
- единый lifecycle quality gate для финальной модели.
Нагрузка
В своём темпе: 27 уроков и 117 практических задач