1.Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值) 组成。 (1)标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数 id(obj) 可返回对象 obj 的标识。 (2)类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的 操作。可以使用 type(obj)获得对象的所属类型。 (3)值表示对象所存储的数据的信息。使用 print(obj)可以直接打印出值。 对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。 2.引用 在 Python 中,变量也成为:对象的引用。因为,变量存储的就是对象的地址。 变量通过地址引用了“对象”。 变量位于:栈内存。 对象位于:堆内存。 从引用的角度,也可以帮助理解Python中变量可以任意赋值的原因了,如下图: 即使a已经被赋值一个整数,单其后续仍可被赋值为一个字符串,因为标识符a只是一个引用,不同的赋值后,a是对不同对象的引用。而对于C语言这样在变量声明之时就确定类型的语言,变量名在其作用域内指向一个固定的地址,因此不能赋值其他数据类型; 3.Python的删除变量及垃圾回收机制: 已经不使用的变量,可以用del删除,释放内存: 但是不会影响引用同一对象的其它变量: 对象的内部有一个引用计数器,记录该对象的引用数目,当引用数目为0时,该对象也会被释放(对这方面知识还不清楚,以后补充)。