如何将对象交给python垃圾回收?

如何将对象交给python垃圾回收?,第1张

如何将对象交给python垃圾回收?

我发现大多数程序都是很自然地创建和处理对象的,所以我通常不会担心它。

一些例子:

person = Person('john')person = Person('james')# Whoops! 'john' has died!people = []people.append(Person('john'))# ...# All 'Persons' live in peoplepeople = []# Now all 'Persons' are dead (including the list that referenced them)class House():    def setOwner(self, person):        self.owner = personhouse.setOwner(people[0])# Now a House refers to a Personpeople = []# Now all 'Persons' are dead, except the one that house.owner refers to.

我认为您所追求的是:

people = {}people['john'] = Person('john')def removePerson(personName):    del people[personName]removePerson('john')

在这种情况下,

people
是主列表,您可以控制何时
Person
从列表(它的字典)中添加和删除列表。

您可能必须仔细考虑一个被创建的人的概念,然后彻底死去:一旦创建,这个人将如何与模拟互动。死亡后,如何解开引用?(一个人可以引用其他内容,例如

House
在我的示例中可以使一个人存活)。您可以让其他对象仅保留该人的名字。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5631327.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存