В чем разница между статической и динамической типизацией
Python
Senior
Без компании
В чем разница между статической и динамической типизацией
Ответы
В Python используется **динамическая типизация** — тип переменной определяется во время выполнения и может изменяться. Например:
```
x = 10 # x — int
x = "текст" # теперь x — str
```
В языках со **статической типизацией** (например, Java, C++) тип переменной фиксируется при объявлении и проверяется на этапе компиляции:
```
int x = 10; // x всегда int
x = "текст"; // Ошибка компиляции
```
**Ключевые различия:**
- **Динамическая:** Гибкость, меньше кода, но возможны ошибки типов в runtime.
- **Статическая:** Безопасность типов, оптимизация, но требуется явное объявление.
Python позволяет добавить статическую проверку через аннотации типов (`mypy`):
```
def greet(name: str) -> str:
return f"Hello, {name}"
```