Ответ
Для статической проверки типов в Python (type checking) используются специализированные анализаторы кода. Они помогают находить ошибки, связанные с типами, до запуска программы.
Основные инструменты:
-
Mypy — де-факто стандарт для статической типизации в Python. Он наиболее популярен и имеет широкую поддержку.
# Установка pip install mypy # Запуск проверки mypy your_script.py -
Pyright — разработан Microsoft, известен своей высокой скоростью. Является основой для языкового сервера Pylance в VS Code, обеспечивая проверку типов «на лету».
# Установка pip install pyright # Запуск проверки pyright your_script.py -
Pyre — разработан Meta (Facebook), ориентирован на производительность и масштабируемость в больших проектах.
# Установка pip install pyre-check # Инициализация и запуск pyre init pyre check
Важное различие:
- Статическая проверка (Mypy, Pyright) анализирует исходный код без его выполнения.
- Валидация в рантайме (например, с помощью Pydantic) проверяет типы данных во время выполнения программы, что критически важно для обработки внешних данных (например, из API-запросов).
Модуль typing сам по себе не выполняет проверок, а лишь предоставляет синтаксис для аннотаций типов, который затем используют анализаторы.