О курсе
Курс начинается с основ объектно-ориентированного программирования в Python: рассматриваются классы, экземпляры, атрибуты, методы, self и init, статические и классовые методы, property и dataclass. Затем изучаются декораторы — от простых функций-декораторов до декораторов с аргументами, декораторов методов и классов, дескрипторов и использования getattr/setattr. На этой базе разбираются принципы ООП и SOLID.
Далее курс углубляется во внутреннее устройство Python: архитектура интерпретатора, пайплайн компиляции, цикл выполнения, модель объектов, slots, управление памятью и обработка исключений. Отдельный блок посвящён системе типов и обобщениям: Generics, Callable, Optional, Union, ограничения типов, TypeGuard, а также построение типобезопасных репозиториев и моделей.
Значительная часть курса отведена асинхронному программированию: async/await, event loop, корутины и задачи, gather, wait, wait_for, асинхронные контекстные менеджеры, обработка ошибок, отмена и защита задач. Также рассматриваются внешние зависимости: PyPI, venv, pip, project.toml, poetry и скрипты.
Завершается курс применением полученных знаний в архитектуре реального проекта. На примере приложения с заметками и Textual слушатели создают экраны и виджеты, описывают бизнес-сущности, реализуют паттерн репозитория и Dependency Injection, организуют загрузку, отображение, создание и удаление заметок, а также работу с сетью через httpx. В программе также заявлены создание TUI-менеджера заметок и TUI-приложения для мониторинга доступности сайтов.
Что рассматривается в программе
- Рассматривается проектирование на основе ООП: классы, наследование, композиция.
- Разбирается использование декораторов и метаклассов для расширения поведения.
- Изучается написание асинхронного кода с async/await, event loop, корутинами и задачами.
- Рассматривается управление зависимостями проекта с помощью venv, pip, poetry.
- Разбирается применение принципов SOLID и избегание антипаттернов.
- Изучается продвинутая типизация: Generic, Protocols, TypedDict, TypeGuard.
- Рассматривается работа с библиотекой Textual для создания TUI-интерфейсов.
- Затрагивается работа с сетью через httpx и реализация паттерна репозитория.
Кому может быть полезен курс
- Разработчикам, знакомым с основами Python и желающим углубить знания в ООП, типизации и асинхронности.
- Тем, кто интересуется внутренним устройством интерпретатора Python и архитектурой приложений.
- Специалистам, которым нужно ознакомиться с принципами SOLID и паттернами проектирования на Python.
- Разработчикам, планирующим создавать TUI-приложения с использованием библиотеки Textual.
Вопросы о программе
Какие темы рассматриваются в курсе?
В программе курса рассматриваются основы ООП, декораторы, принципы SOLID, внутреннее устройство Python, продвинутая типизация (Generics, TypeGuard и др.), асинхронное программирование, управление зависимостями, библиотека Textual и архитектура проекта на примере приложения с заметками.
Какие проекты предлагается создать в ходе курса?
В курсе заявлено создание двух TUI-приложений: менеджера заметок с возможностью создавать, импортировать и удалять заметки, а также приложения для мониторинга доступности сайтов, которое хранит URL и интервалы проверки и отображает статусы на Dashboard.
Что входит в тариф «AI и тренажёры»?
Тариф «AI и тренажёры» включает уроки и упражнения, домашние задания, AI-занятия на два месяца и тренажёр с задачами.
Какие инструменты и библиотеки рассматриваются в курсе?
В материалах курса упоминаются Python, Textual, httpx, venv, pip, poetry, ruff, Pyenv, VSCode, gitflow, а также инструменты типизации и асинхронного программирования.