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