python释放类对象_Python:删除对象并释放Sp

想象一个简单的类:class Thingy:

pass

现在我可以创建这个类的一个对象并将其称为george:

^{pr2}$

现在我已经创建了一个类的实例,并且有一个对它的引用。在某个地方,此计数被保持并设置为1。在

我可以创建一个名为mary的新变量,并将其分配给同一个对象:mary = george

现在我仍然只有一个对象,但是我有两个引用。如果我对george调用方法,这会影响mary引用的对象,因为它是同一个实例。在

正如您提到的列表,让我们也将其添加到一个列表中,但本质上它是完全相同的,它将引用计数增加到3。在my_objects = []

my_objects.append(george)

现在有三个参考文献。现在,仍然在这个方法中,让我们再次删除引用george = None # reference count drops to 2

mary = 3 # reference count drops to 1

my_objects.pop() # reference count drops to 0

当计数下降到0时,python运行时会意识到这一点(可能不是直接的,但足够快),并在实例上调用__del__方法。你不在乎这个,你就让参考消失了。在Now, if I delete ObjectX and ListY, would the reference count to the object still remain as 1?

不,会降到零。在and the object is still remaining sitting there in hard disk waiting for some kind soul to come and kill it?

不,它只保存在内存中,将被删除并再次释放内存。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值