您的位置:首页 > 编程语言 > Python开发

python中的对象

2016-01-29 15:15 197 查看
在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会在程序的不同部分共享对象,以便节约内存


未完!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: