Python для продвинутых: ООП, типизация и тестированиеОткрытые материалыType hints и mypy в Python: практическая типизация
Type hints и mypy в Python: практическая типизация
Уроки курсаType hints и mypy в Python: практическая типизация
Type hints описывают ожидаемые типы для разработчика, IDE и статического анализатора. Интерпретатор Python обычно не запрещает передать значение другого типа, поэтому аннотация — контракт для анализа, а не встроенная runtime-валидация.
def total(prices: list[float], discount: float = 0.0) -> float:
return sum(prices) * (1 - discount)
Mypy анализирует код без запуска и находит несовместимые аргументы, отсутствующие ветки и неправильные возвращаемые значения. Его полезно запускать в CI с одной зафиксированной конфигурацией, иначе локальная проверка и pipeline будут расходиться.
