首页 > 编程语言 > 详细

python中的对象

时间:2016-01-29 16:25:47      阅读:169      评论:0      收藏:0      [点我收藏+]

在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会在程序的不同部分共享对象,以便节约内存

 

未完!

 

python中的对象

原文:http://www.cnblogs.com/zhuweiblog/p/5169096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!