Начиная с версии 3.5 в Python была добавлена ​​поддержка опциональной статической типизации. Утвержден и внедрен PEP 484 — Type Hints(link is external). Этот PEP добавляет поддержку необязательного объявления типов для аргументов методов и функций и их возвращаемых значений. Позднее в Python-3.6 был реализован PEP 526 — Syntax for Variable Annotations(link is external), что стало логическим продолжением улучшения и расширения поддержки статической типизации. В PEP 526 добавлена ​​возможность указать тип переменной. Аннотации типов для переменных и методов могут использоваться статическими анализаторами кода и IDE. Они не влияют на производительность во время выполнения (аннотации во время выполнения игнорируются).

На данный момент mypy — самая популярная статическая проверка типов для Python. Статическая типизация может быть полезна не только в больших проектах, но и в очень простых на первый взгляд скриптах или кусках кода. Типы похожи на модульные тесты для кода, но применяются к вашим данным. В этой статье мы рассмотрим несколько примеров такого кода. Код, в котором статическая типизация позволяет исключить нетривиальные ошибки, на отладку и поиск первопричины которых уходит много времени. Также я расскажу вам о базовом синтаксисе аннотаций типов в Python.

Читать статью полностью: