<分区>
我了解到 Python 是一种强动态类型的语言。
动态:变量的类型在执行时确定,而不是在编译时确定。对于这部分,我可以理解类型是在将值(当然是类型)分配给变量时确定的。
strong:您不能更改变量的类型。 但这不是真实情况:
>>> a = 1
>>> type(a)
<type 'int'>
>>> a = 's'
>>> type(a)
<type 'str'>
从上面的代码中,我可以将变量 a 的类型从 int 更改为 str。
这怎么会发生?我能说 Python 是弱类型语言吗?
编辑:
如果您能给我一个代码片段,说明强动态类型如何影响 Python 编程,我将不胜感激! 在我平时的编码过程中,我从不关心strong-dynamic typing 问题。它也很少影响我的代码功能。奇怪!
编辑:
答案的结论:
- 只有对象/值有类型属性。变量没有类型。
- (Strong) 类型决定了可以执行什么操作 在对象/值(可能是引用它们的变量)之上/之间。
- (动态)类型意味着变量只是一个标签(引用 对象/值)。此标签可以引用任何类型的任何对象/值。