在Python中类型是在运行过程中决定的, 而不是事先声明的. 像上面Python中运行赋值语句 a = 3, 代码中没有说明a是整数对象类型, 但一样也能工作, 可按如下思路来理解该原由....变量类型: 变量永远不会有任何的和它关联的类型信息或约束. 类型的概念是存在于对象中而不是变量名中. 变量原本是通用的, 它只是在一个特定的时间点, 简单地引用了一个特定的对象而已....动态语言的类型和静态语言的有明显不同, 若能清楚的将变量名和对象划分开来, 动态类型是很容易理解的.
>>> a = 3
从上面的概念来看, Python会执行三个步骤去完成这个操作:
1....类型属于对象, 而不是变量
Python中, 变量名没有类型, 对象才有类型. Python在每个对象上保存了类型标识, 和引用计数....可以通过sys模块中的getrefcount函数, 查看对象的引用计数.
>>> import sys
>>> sys.getrefcount('spam')
3