Я работаю над текстовой приключенческой игрой, написанной на Python, просто для удовольствия (чтобы посмотреть, смогу ли я это сделать). Я работаю над модулем для сущностей, и я работаю над методом их убийства. Когда объект убит, вместо того, чтобы просто отображать сообщение об убийстве и визуализировать объект, который не может действовать, я также хочу, чтобы его экземпляр был удален для сохранения памяти.Уроки класса Python, удаляющие себя
Как я могу сделать экземпляр класса сущности самостоятельно?
Например (частично псевдокод):
class Entity(object):
#other methods here
def kill(self):
if self.health <= 0:
self.deleteinstance
or
deleteinstance(self)
Заранее спасибо за вашу помощь.
EDIT: Я понимаю, что это дубликат, но ответы во всех остальных ссылаются на то, что объекты удаляются, когда ничто не относится к ним. Мой вопрос здесь в том, как ничего не ссылаться на экземпляр этого класса, потому что без метода kill
предположительно экземпляр по-прежнему будет в памяти с отрицательным здоровьем.
объекты Python являются мусором. Вам нужно только удалить любую ссылку на них, и они будут удалены автоматически. Google Python Object Lifetime, в том числе [этот пост SO] (http://stackoverflow.com/questions/11894045/python-object-lifetime-characteristics) для большего количества. – dawg