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

python内存管理

2016-05-24 13:20 288 查看
python对象三要素:

identity(值):对应于内存的地址,不可修改
type(类型):不可修改
value(值):
mutable :可以修改
immutable:不可以修改

引用计数
当引用计数为0的时候,GC才会真正去回收补分配的内存

>>> def f():
...     pass
...
>>> id(f)
139655884671288
>>> fa=f
>>> id(fa)
139655884671288
>>> del fa
>>> del f

id()
返回对象的内存地址
用来判断是不是同一个内存对象

整型缓部池(0-1000)
1.对一一定范围的整型,python在内存中提前进行了分配
2.可以通过修改源码重新编译python来修改缓冲池的范围
3.不会被回收

整型在同一个地址:

>>> a=1
>>> b=1
>>> id(a)
19419960
>>> id(b)
19419960

类对象不在一个地址
>>> class A:
...     pass
...
>>> c=A()
>>> d=A()
>>> id(c)
140100598572888
>>> id(d)
140100598572960

is语句:
用来判断两个变量是不是指向同一个存对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: