标签:
在python中一切都是对象,每个对象都有三个属性分别是,(id)身份,就是在内存中的地址,类型(type),是int、字符、字典(dic)、列表(list)等,值,
例如: a = 12 就是用12这个类型为整数的,值为12,在内存空间中创建了一个空间(这个空间会用一个地址来表示,就是id),当对象被创建后,如果该对象的
值可以被更改,那么就称之为可变对象(mutable),如果值不可更改,就称之为不可变对象(inmutable),如果某个对象包含对其他的对象的引用的话,就称之
为容器或者集合。例如 我创建一个 字典类型的对象并且被b引用 b = list() 我再创建一个字典类型的对象,并且被c 引用 c = dic() 此时b应用该字典类型的
对象后 b[‘a‘] = c 那么此时的b就是个集合。
#is用来比较两个对象的id是不是相同的,测试身份的
if a is b: return a and b have the same id
#比较值
if a == b:
return a==
b
#比较类型
if type(a)== type(b):
return 类型相同
引用计数与垃圾回收,所有对象都有引用计数。 a = 22 #创建一个值为22的对象并且被a引用 b=a #对象22的引用计数会增加 c = [] c.append(b) #对象22的引用计数增加 减少引用计数的操作 del a #减少引用计数 b = 56 #减少引用计数 c[0] =33 #减少引用计数 获得引用计数 >>>a = 22 >>>import sys >>>sys.getrefcount(a) 7 大多数情况下,引用计数会比我们想象的多很多,因为对于不可变的对象(短的字符串和小的数值)会被缓存,pyth会在程序的不同部分共享对象,以便节约内存
未完!
标签:
原文地址:http://www.cnblogs.com/zhuweiblog/p/5169096.html