python垃圾回收库_Python垃圾回收机制

一、引用计数

引用计数通俗易懂可以理解为:

变量的命名规范中需要是这种格式:key=value,key称为变量名,value是变量的数值。

引用计数就是指,【最后使用】value的key的个数。

【最后使用】这个值的变量的个数就是引用计数的最终结果数值。

Python垃圾回收主要以引用计数为主,分代回收为辅。

『引用计数法』的原理是:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_ref减1,一旦对象的引用计数为0,该对象立即被回收,对象占用的内存空间将被释放。

对象被创建  a=14

对象被引用  b=a

对象被作为参数,传到函数中   func(a)

对象作为一个元素,存储在容器中   List={a,”a”,”b”,2}

与上述情况相对应,当发生以下四种情况时,该对象的引用计数器-1

当该对象的别名被显式销毁时  del a

当该对象的引别名被赋予新的对象,   a=26

一个对象离开它的作用域,例如 func函数执行完毕时,函数里面的局部变量的引用计数器就会减一(但是全局变量不会)

将该元素从容器中删除时,或者容器被销毁时。

通俗易懂如下所示:

因为每个变量都有对应的值,所以没有值的变量【a 前】就是Python眼中的垃圾,就会被内存给清理掉!!

a=10 前

b=a

a=20 后

a的值被b替换,然后a又重新赋值,那么之前的a就会变成Python眼中的垃圾,被内存清理掉!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值