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语句:
用来判断两个变量是不是指向同一个存对象