python引用计数机制的使用

python引用计数机制的使用

说明

1、python里每一个东西都是对象,它们的核心就是一个结构体:PyObject。

2、具有简单、实时性。一旦没有引用,内存就直接释放了。不用像其他机制等到特定时机。

实例

typedefstruct_object{
intob_refcnt;
struct_typeobject*ob_type;
}PyObject;

PyObject是每个对象必有的内容,其中ob_refcnt就是做为引用计数。当一个对象有新的引用时,它的ob_refcnt就会增加,当引用它的对象被删除,它的ob_refcnt就会减少
#definePy_INCREF(op)((op)->ob_refcnt++)//增加计数
#definePy_DECREF(op)\//减少计数
if(--(op)->ob_refcnt!=0)\
;\
else\
__Py_Dealloc((PyObject*)(op))
当引用计数为0时,该对象生命就结束了。

以上就是python引用计数机制的使用,希望对大家有所帮助。更多python学习指路:python基础教程