在Python中,咱们执行表达式 a = 3,Python会怎样操做呢? 一、首先会建立一个对象表示值3 二、若是变量a不存在,建立变量a 三、把变量a链接到表示3的对象 在Python中,变量和对象存储在不一样的地方,经过指针链接起来... 一个变量老是和对象链接起来,不存在不和对象链接的变量,可是大的对象可能链接到别的对象。 变量到对象的链接称做引用(reference),和c++中的类似,具体的说就是: 1.变量时系统表中的条目,经过指针连接到对象 2.对象是分配的内存,有足够的空间表示具体的值 Python中,变量没有类型,它只是一个特定对象的引用而已,每一个对象都有类型。 好比下面的代码: >>> a = 2 >>> a = 3.1 >>> a = 'mikewolf' 就是变量a切换引用,指向3个不一样的对象。 初始a引用对象1(表示值2),接着引用对象2(表示3.1),这是对象1的引用计数为0,则Python的垃圾回收机制会回收它占用的内存... 接着a引用对象3(表示mikewolf),释放对象2. Python对象的头中,都有一个引用计数,Python就是经过这个引用计数实现垃圾回收。