python引用计数机制的使用

美女程序员鼓励师

说明

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学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

以上是 python引用计数机制的使用 的全部内容, 来源链接: utcz.com/z/544766.html

回到顶部