码迷,mamicode.com
首页 > 编程语言 > 详细

python中的对象

时间:2016-01-29 16:27:03      阅读:155      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!