Python class 个实例自我删除

Python class instances deleting themselves

我正在开发一个用 Python 编写的文字冒险游戏,只是为了好玩(看看我是否能做到)。我正在为实体开发模块,并且正在研究一种让它们被杀死的方法。当一个实体被杀死时,我不只是显示一条杀死消息并使实体无法行动,我还希望删除它的实例以节省内存。

如何使实体 class 的实例自行删除?

例如(部分伪代码):

class Entity(object):
    #other methods here

    def kill(self):
       if self.health <= 0:
           self.deleteinstance
           or
           deleteinstance(self)

预先感谢您的帮助。

编辑:我知道这是重复的,但所有其他人的答案都提到当没有任何对象指向它们时对象被删除。我的问题是如何不引用此 class 的实例,因为如果没有 kill 方法,该实例可能仍处于内存中且健康状况不佳。

现在,你为什么要这样做?

Python中的对象一旦没有指向它们就会被垃圾回收,所以你不用担心。否则,您应该查看其他 SO 问题中的一些答案:Python object deleting itself.

你可以试试:

def kill():
    if self.health < 0:
        del self