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))