python中的对象


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

 

未完!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM