Ответ
MyPy — это статический анализатор типов для Python. Он проверяет код на соответствие аннотациям типов (type hints) без его фактического выполнения, помогая выявлять ошибки, связанные с типами данных, на этапе разработки.
Как это работает:
- Разработчик добавляет аннотации типов к переменным, аргументам функций и возвращаемым значениям, используя стандартный синтаксис Python (PEP 484).
- MyPy анализирует код и сообщает о несоответствиях, например, когда в функцию, ожидающую строку, передается число.
Пример аннотации типов:
# Функция принимает строку и возвращает строку
def greet(name: str) -> str:
return f"Hello, {name}"
# MyPy обнаружит здесь ошибку, так как 123 не является строкой
greet(123)
# Эта переменная должна быть списком целых чисел
numbers: list[int] = [1, 2, 3]
Пример запуска проверки из командной строки:
# Установка
pip install mypy
# Запуск проверки для файла my_script.py
mypy my_script.py
Зачем использовать MyPy?
- Обнаружение ошибок до запуска: Находит
TypeError
и другие проблемы на ранней стадии. - Улучшение читаемости кода: Типы служат самодокументацией.
- Безопасный рефакторинг: IDE и редакторы кода используют типы для более точных подсказок и анализа кода.