Типизация
Самый полный
и продвинутый курс
для тех, кто хочет писать более поддерживаемый
и надёжный код.
О курсе
Мы решили сделать этот курс, потому что типы в Python — очень недооценённый инструмент: многие синьёры считают тайпхинты излишней нагрузкой, хотя с их помощью можно было бы радикально повысить читаемость кода и заставить джунов думать об API до отправки кода на ревью.
Мы делаем его бесплатным, потому что хотим, чтобы в мире появлялось больше типизированного кода.
Меня зовут Фёдор Борщёв, я основатель Школы сильных программистов
Этот курс подойдёт, если:
  1. Вы пишете промышленный код на Python
  2. Любите аннотации типов
  3. Хотите сделать код понятнее и надёжнее
  1. Вы мало знаете Python
  2. В основном пишете одноразовые скрипты
  3. Считаете, что типы — это лишнее, нужно просто писать без ошибок
Курс не подойдёт, если:
После курса у вас постепенно:
  1. Снизится когнитивная нагрузка, потому что читать код станет легче
  2. Трансформируется мышление: вы начнёте сначала думать о структуре и API, а потом — о реализации. Данные и типы  первичны, операции над ними  вторичны
  3. Появится глубокое понимание того, как работает система типизации в Python
Программа
Все уроки в записи
Урок 3
Тайпчекеры
Урок 2
Урок 1
На выходе: поймём, как работают текущие Python- тайпчекеры и почему текущая система типов не вполне подходит
Философия и устройство системы типов Python
Как использовать типы в ежедневной работе?
На выходе: научимся по-другому смотреть на типовые проблемы в бизнес-логике, узнаем набор необходимых инструментов для type-level-программирования на Python
На выходе: поймём, какая бывает типизация, чем она может помочь нам в работе
О чём: поговорим о системе типов и месте Python в них. А также об устройстве и инфраструктуре системы типов Python
О чём: рассмотрим, как они работают и как мы можем им помочь. На примерах mypy, pyright, beartype. Разберём проблемы текущих систем типов, поймём, как работают mypy-плагины и зачем нужны
О чём: обсудим, как сделать так, чтобы невалидные состояния не были достижимы? Какие есть подходы для продвинутого проектирования? Какие идеи можно выражать в типах?
Автор — Никита Соболев
CTO wemake.services, участник программного комитета на MoscowPythonConf и RussianPythonWeek. Top-80 по коммитам в CPython, топ-6 по коммитам в mypy и typeshed. Затворник, ретроград.
Github Star
Участвовать в курсе «Типизация в Python»
Нажимая на кнопку, вы даёте согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности
Возник вопрос?
Если у вас возник вопрос или хотите нам задонатить — напишите на support@tough-dev.school.
Ответим в течение 24 часов.
Другие курсы школы