您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

一些例子:

person = Person('john')
person = Person('james')
# Whoops! 'john' has died!

people = []
people.append(Person('john'))
# ...
# All 'Persons' live in people
people = []
# Now all 'Persons' are dead (including the list that referenced them)

class House():
    def setOwner(self, person):
        self.owner = person

house.setOwner(people[0])
# Now a House refers to a Person
people = []
# 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在我的示例中可以使一个人存活)。您可以让其他对象仅保留该人的名字。

python 2022/1/1 18:39:13 有252人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶