Типизация в Python
2026-02-21 17:19 Diff

Самый полный
и продвинутый курс
для тех, кто хочет писать более поддерживаемый
и надёжный код.

Мы решили сделать этот курс, потому что типы в Python — очень недооценённый инструмент: многие синьёры считают тайпхинты излишней нагрузкой, хотя с их помощью можно было бы радикально повысить читаемость кода и заставить джунов думать об API до отправки кода на ревью.

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

Меня зовут Фёдор Борщёв, я основатель Школы сильных программистов

Этот курс подойдёт, если:

  1. Вы пишете промышленный код на Python
  2. Любите аннотации типов
  3. Хотите сделать код понятнее и надёжнее
  1. Вы мало знаете Python
  2. В основном пишете одноразовые скрипты
  3. Считаете, что типы — это лишнее, нужно просто писать без ошибок

После курса у вас постепенно:

  1. Снизится когнитивная нагрузка, потому что читать код станет легче
  2. Трансформируется мышление: вы начнёте сначала думать о структуре и API, а потом — о реализации. Данные и типы  первичны, операции над ними  вторичны
  3. Появится глубокое понимание того, как работает система типизации в Python

Программа
Все уроки в записи

На выходе: поймём, как работают текущие Python- тайпчекеры и почему текущая система типов не вполне подходит

Философия и устройство системы типов Python

Как использовать типы в ежедневной работе?

На выходе: научимся по-другому смотреть на типовые проблемы в бизнес-логике, узнаем набор необходимых инструментов для type-level-программирования на Python

На выходе: поймём, какая бывает типизация, чем она может помочь нам в работе

О чём: поговорим о системе типов и месте Python в них. А также об устройстве и инфраструктуре системы типов Python

О чём: рассмотрим, как они работают и как мы можем им помочь. На примерах mypy, pyright, beartype. Разберём проблемы текущих систем типов, поймём, как работают mypy-плагины и зачем нужны

О чём: обсудим, как сделать так, чтобы невалидные состояния не были достижимы? Какие есть подходы для продвинутого проектирования? Какие идеи можно выражать в типах?

CTO wemake.services, участник программного комитета на MoscowPythonConf и RussianPythonWeek. Top-80 по коммитам в CPython, топ-6 по коммитам в mypy и typeshed. Затворник, ретроград.

Участвовать в курсе «Типизация в Python»