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學習教程請關注IT培訓機構:千鋒教育。