Что означает, что язык программирования статически или динамически типизирован

Python Senior Без компании
Что означает, что язык программирования статически или динамически типизирован
Ответы
**Статическая типизация** означает, что типы переменных проверяются на этапе компиляции. Тип переменной объявляется явно и не может измениться. Пример на Python с использованием аннотаций (но Python остается динамическим!): ``` def greet(name: str) -> str: return f"Hello, {name}" ``` **Динамическая типизация** — типы проверяются во время выполнения. Переменные могут менять тип. Пример: ``` x = 10 # int x = "text" # str, ошибки нет ``` **Ключевые различия:** - Статическая: безопасность типов, производительность. - Динамическая: гибкость, меньше boilerplate-кода. Python — динамически типизирован, но поддерживает аннотации для статического анализа (например, через `mypy`).