说明
1、python里每一个东西都是对象,它们的核心就是一个结构体:PyObject。
2、具有简单、实时性。一旦没有引用,内存就直接释放了。不用像其他机制等到特定时机。
实例
typedef struct_object { int ob_refcnt; struct_typeobject *ob_type; } PyObject; PyObject是每个对象必有的内容,其中ob_refcnt就是做为引用计数。当一个对象有新的引用时,它的ob_refcnt就会增加,当引用它的对象被删除,它的ob_refcnt就会减少 #define Py_INCREF(op) ((op)->ob_refcnt++) //增加计数 #define Py_DECREF(op) \ //减少计数 if (--(op)->ob_refcnt != 0) \ ; \ else \ __Py_Dealloc((PyObject *)(op)) 当引用计数为0时,该对象生命就结束了。
以上就是python引用计数机制的使用,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。