Я узнал, что Python — это сильно-динамический типизированный язык.
динамический: тип переменной определяется при выполнении em> время НЕ время компиляции. В этой части я могу понять, что тип определяется, когда значение (тип, конечно) присваивается переменной.
strong: вы НЕ можете изменить тип переменной. Но это не реальный случай:
>>> a = 1
>>> type(a)
<type 'int'>
>>> a = 's'
>>> type(a)
<type 'str'>
В приведенном выше коде я могу изменить тип переменной a с int на str.
Как это может произойти? Могу ли я сказать, что Python — язык со слабой типизацией?
ИЗМЕНИТЬ:
Если вы можете дать мне фрагмент кода, показывающий, как строгая динамическая типизация влияет на программирование на Python, я был бы вам очень признателен! Во время моего обычного написания кода меня никогда не волновали проблемы строгой динамической типизации. Это также редко влияет на мою функцию кода. Странный!
EDIT:
Вывод из ответов:
- Только объект/значение имеет атрибут типа. Переменная не имеет типа.
- (Сильный) Тип определяет, какие операции можно выполнять над/между объектами/значениями (возможно, переменными, ссылающимися на них).
- (Динамический) Тип означает переменную просто метку (ссылка на объект/значение). Эта метка может относиться к любому объекту/значению любого типа.