Python弱引用

Python弱引用

弱引用:新增变量时,变量计数器不会增加。

弱引用与强引用相对,是指不能确保其引用的对象不会被垃圾回收器回收的引用。一个对象若只被弱引用所引用,则可能在任何时刻被回收。弱引用的主要作用就是减少循环引用,减少内存中不必要的对象存在的数量。

一、弱引用的创建

import weakref
变量名 = weakref.ref(被引变量)

示例:

import weakref
from sys import getrefcount
class A:
    def __init__(self):
        pass


a = A()

b = a
print(getrefcount(a))

c = weakref.ref(a)
print(getrefcount(a))

d = c()
print(getrefcount(a))
运行结果

你可能感兴趣的:(Python弱引用)