Типизированный Python

Курс о современной типизации в языке программирования Python: от базовых аннотаций и проверки кода с помощью mypy до продвинутых возможностей модуля typing. Вы разберетесь с коллекциями, Union, TypedDict, generics, Protocol, декораторами и сужением типов, а в финале освоите Pydantic для валидации и…
Средний уровень
2 часа в неделю

Чему вы научитесь

  • Понимать, как работает статическая типизация в динамическом языке Python
  • Добавлять аннотации типов для функций, переменных, коллекций и классов
  • Настраивать и использовать mypy и Pyright для проверки кода
  • Применять возможности модуля typing: Any, Literal, TypedDict, NewType, Self и другие
  • Использовать Union-типы и корректно сужать типы в разных ветках программы
  • Разрабатывать обобщенные функции и классы с помощью TypeVar и generics
  • Типизировать callback-функции, декораторы, генераторы и асинхронный код
  • Проектировать интерфейсы и зависимости с помощью Protocol
  • Выбирать подходящую модель данных: TypedDict, NamedTuple, dataclass или обычный класс
  • Внедрять типизацию в существующие проекты и постепенно переходить к строгой проверке
  • Создавать типизированные публичные API и stub-файлы для библиотек
  • Использовать Pydantic для валидации, преобразования и сериализации данных
  • Разрабатывать сложные Pydantic-модели с валидаторами, настройками и TypeAdapter
  • Понимать границу между статической типизацией и runtime-валидацией

О курсе

Курс поможет разобраться, как устроена типизация в Python и как применять ее в реальных проектах. Вы изучите базовые аннотации, возможности модуля typing, настройку статических анализаторов, а также Pydantic для проверки и преобразования данных во время выполнения

Цель курса

Научить писать более надежный, понятный и удобный для сопровождения Python-код. Типизация помогает раньше находить ошибки, упрощает рефакторинг и улучшает автодополнение в IDE

Польза от курса

В ходе обучения Вы научитесь типизировать функции, классы, коллекции, декораторы и асинхронный код, работать с TypedDict, generics, Protocol, TypeGuard и другими инструментами

Структура курса

Курс построен от простого к сложному и включает теорию, примеры кода, разбор типичных ошибок и практические задания. В финальных модулях вы освоите Pydantic, создание моделей, валидацию, сериализацию и настройку приложения

Для кого этот курс

Курс будет полезен: – начинающим разработчикам, которые хотят сразу освоить современные практики типизации – опытным Python-разработчикам, работающим с крупными проектами, где важно безопасно изменять и рефакторить код – разработчикам Java, Kotlin, C# и других статически типизированных языков, переходящим на Python – backend-разработчикам, которые работают с API, JSON, конфигурациями и внешними данными

Начальные требования

Для прохождения курса достаточно базового знания Python:

  • синтаксис языка, переменные и условия
  • функции и работа с аргументами
  • списки, словари, множества и кортежи
  • основы классов и объектно-ориентированного программирования
  • умение устанавливать библиотеки и запускать Python-код

Предварительные знания модуля typing, mypy, Pyright и Pydantic не требуются. Все необходимые темы будут разобраны в курсе

Как проходит обучение

Обучение строится по принципу теория → проверка знаний → практика. В каждом уроке вы познакомитесь с новой темой, разберете примеры кода и типичные ошибки.

Вас ждут тестовые задания для проверки понимания материала и практические задачи, составленные на основе изученных тем. Вы будете добавлять аннотации типов, исправлять ошибки статического анализатора, проектировать типизированные модели и работать с Pydantic

Программа курса

В курс входят

  • 58 уроков
  • 228 тестов
  • 107 интерактивных задач
загружаем...

Наши преподаватели

Отзывы прошедших курс

5
из 5
из 1 отзыва
1 отзыв
загружаем...

Что вы получаете

  • Практические навыки типизации Python, востребованные на собеседованиях и в работе разработчика
  • Понимание современных подходов к созданию надежного и поддерживаемого Python-кода
  • Умение применять typing, generics, Protocol, TypedDict и другие инструменты типизации
  • Навыки работы с mypy, Pyright и строгой проверкой типов
  • Практический опыт валидации и сериализации данных с помощью Pydantic
  • Знания промышленного стандарта разработки: в современных production-проектах Аннотации типов и статический анализ стали важной частью командной разработки
  • Готовность уверенно отвечать на вопросы о типизации на собеседованиях Python-разработчика

Сколько стоит обучение

Бесплатно

Расскажите о курсе друзьям

Бесплатно