python3:垃圾回收机制

版权声明:转载 或者复制请标注来源 https://blog.csdn.net/qq_34979346/article/details/83691686

1.垃圾回收机制算法采用的是 引用计数

直接给概念,小伙伴很难理解,我用一个例子保证你get到。

a=[1,2,3]  #声明变量后 引用计数 +1
b=a   #增加一个引用, 引用计数 +1
c=b #增加一个引用, 引用计数 +1

当我们删除

del a  #删除a 这个指针,并引用计数 -1
print(b) 

print(a)

打印结果:

[1, 2, 3]
NameError: name 'a' is not defined

当计数器 保存的值为0的时候,
也就是意味着没有任何指针指向这块存储。

垃圾回收开始清除这块没有任何 指针的存储。

2.垃圾回收魔法函数

python 有个魔法函数 del 当回收的时候系统应该如何操作。

看下边例子,比较简单自己体会下,不做解释 :

class A:
    def __del__(self):
        print("开始回收了")

a=A()
b=a
c=b

del a 
del b
del c

打印结果:

开始回收了

猜你喜欢

转载自blog.csdn.net/qq_34979346/article/details/83691686