В Python тип принадлежит объекту, а имя может последовательно ссылаться на объекты разных типов. Совместимость операций проверяется во время выполнения, если её заранее не проверили внешние инструменты.
В чём особенность работы с типами данных в Python по сравнению с другими языками (динамическая типизация)?
В Python тип принадлежит объекту, а имя может последовательно ссылаться на объекты разных типов. Совместимость операций проверяется во время выполнения, если её заранее не проверили внешние инструменты.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Python тип принадлежит объекту, а имя может последовательно ссылаться на объекты разных типов. Совместимость операций проверяется во время выполнения, если её заранее не проверили внешние инструменты.
Например, value = 1, затем value = 'text' допустимы. Это не означает отсутствия типов: сложение строки и числа без явного преобразования вызовет ошибку. Часто используется duck typing — важны поддерживаемые операции, а не конкретный класс. Аннотации помогают IDE и статическому анализатору, но сами по себе обычно не выполняют runtime-валидацию. По сравнению со статически типизированными языками меняется момент обнаружения части ошибок, а не необходимость проектировать понятные интерфейсы.