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 будут расходиться.