
Python для продвинутых: ООП, типизация и тестирование
Практический курс-мост от базового Python к разработке поддерживаемых приложений. Вы разберётесь со структурой пакетов, объектной моделью, современной типизацией и автоматическими тестами, а затем соедините эти инструменты в небольшом приложении с хранением данных и логированием.
О курсе
Курс учит превращать набор работающих скриптов в понятный Python-проект. Сначала вы настроите окружение и структуру пакета, разберёте абсолютные импорты, публичный API и циклические зависимости. Затем построите объектную модель: от классов, property и специальных методов до композиции, наследования, ABC, dataclass и Enum.
Во второй половине курса вы добавите аннотации типов и mypy, освоите TypeVar, Generic и Protocol, а после — полноценное тестирование с pytest: параметризацию, fixtures, tmp_path, stub, monkeypatch, mock и регрессионные тесты. Завершающие уроки связывают pathlib, JSON, CSV, Repository, конфигурацию и логирование в единый небольшой трекер задач.
Чему научитесь
- Организовывать Python-код в пакеты с понятным публичным API и корректными импортами.
- Проектировать объектные модели с композиционным и полиморфным поведением.
- Применять dataclass, Enum, собственные исключения и специальные методы.
- Описывать контракты через современную типизацию, Generic и Protocol и проверять их mypy.
- Писать содержательные тесты pytest с параметризацией, fixtures, stub, mock и monkeypatch.
- Отделять бизнес-логику от файлового хранения через Repository.
- Собирать небольшое типизированное приложение с конфигурацией, логированием и тестами.
Для кого
- Разработчики, аналитики и инженеры после базового курса Python.
Формат
- 36 последовательных уроков в 7 модулях.
- 188 тестовых вопросов с автоматической проверкой.
- 36 практических задач с исполняемыми hidden-тестами.
- Итоговая работа — компактный типизированный трекер задач.
Что нужно на старте
- Уверенное владение базовым синтаксисом Python: условия, циклы, функции и коллекции.
- Базовая работа с модулями, исключениями и текстовыми файлами.
- Умение запускать Python-скрипты и устанавливать пакеты по инструкции.
Автор курса
Алексей Малышкин
Разрабатываю образовательные материалы по программированию, машинному обучению и анализу данных. Темы: Python-разработка, аналитика, ML-инструменты (LangChain, vector databases, AI agents), компьютерное зрение. Стараюсь объяснять технические концепции понятно и структурировано. Ранее преподавал на Stepik и обучил более 2000 студентов. Мой профиль на Stepik - https://stepik.org/users/273781420/profile Мой телеграм для связи @alexey_latorn
