我有一个timer类,我设计它触发一次,然后(最好)删除它自己。有没有办法让我实现自我删除?
class timer:
def __init__(self, duration, function, args):
self.duration = duration
self.function = function
self.args = args
def start(self):
self.time = time.time()
self.validity = True
def check(self):
if(int(self.time)+self.duration < time.time() ):
self.function(self.args)
self.validity = False
def __del__(self):
print("timer destroyed")发布于 2020-03-25 10:48:45
您可以遵循类似的方法。
可以调用object.__del__(self)销毁实例。
>>> class Test:
... def __del__(self):
... print "deleted"
...
>>> test = Test()
>>> del test
deleted除非移除对象的所有引用,否则不会删除该对象
另外,来自Python官方文档参考:
del x不直接调用x.del() -前者将x的引用计数减1,而后者仅在x的引用计数达到零时调用
在您的解决方案中,您需要使用类似于del object的内容,其中对象是您想要删除的实例。
发布于 2020-03-25 12:19:46
你有没有试过使用None?如下所示:
timer = Nonehttps://stackoverflow.com/questions/60842294
复制相似问题