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
我正在开发一个用 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