О курсе

Курс начинается с основ объектно-ориентированного программирования в 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, а также инструменты типизации и асинхронного программирования.