Что такое статическая и динамическая типизация в Python и как они реализованы в языке?
Answer from AI
sobes.tech AI
В Python используется динамическая типизация: тип переменной определяется во время выполнения, а не заранее. Это значит, что переменной можно присвоить значение любого типа, и тип переменной может меняться в процессе работы программы.
Статическая типизация — это когда тип переменной определяется на этапе компиляции и не меняется. В Python статическая типизация не реализована по умолчанию, но с появлением аннотаций типов (type hints) и инструментов статического анализа (например, mypy) можно добавлять информацию о типах для проверки кода без выполнения.
Пример динамической типизации в Python:
x = 10 # x — целое число
x = 'text' # теперь x — строка
Пример аннотаций для статической проверки:
def greet(name: str) -> str:
return 'Hello, ' + name
Здесь типы указаны, но Python их не проверяет во время выполнения, это делают внешние инструменты.