Python中的垃圾回收

垃圾回收

Python中默认开启开启自动垃圾回收。

管理方式

Python中使用引用计数管理分配的内存,当对象引用计数为0时,对象就被释放。

引用计数

何时增加

1. 对象被赋值
import sys

print(sys.getrefcount(12345))

a=12345

print(sys.getrefcount(12345))

2. 对象被引用
import sys


a=12345
print(sys.getrefcount(12345))

b=a
print(sys.getrefcount(12345))

3. 对象被置入容器
import sys

a=12345
print(sys.getrefcount(12345))

lis=[a]
print(sys.getrefcount(12345))

何时减少

1. 变量被赋新值
import sys

a=12345

print(sys.getrefcount(12345))

a=12

print(sys.getrefcount(12345))

2. 对象被显式销毁
import sys

a=12345

print(sys.getrefcount(12345))

del a

print(sys.getrefcount(12345))

3. 对象所在容器被显式销毁
import sys

a=12345
lis=[a]

print(sys.getrefcount(12345))

del lis

print(sys.getrefcount(12345))
4. 对象离开作用域
import sys

def func():
    a=12345
    print(sys.getrefcount(12345))

func()
print(sys.getrefcount(12345))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值