В чем разница между статической и динамической типизацией

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}" ```