[英]How do I destroy an object in python?
我有一個計時器類,我設計它觸發一次,然后(最好)刪除它自己。 有沒有辦法讓我實現自我刪除?
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")
您可以遵循類似的方法。
可以調用object.__del__(self)
來銷毀實例。
>>> class Test:
... def __del__(self):
... print "deleted"
...
>>> test = Test()
>>> del test
deleted
除非刪除所有引用,否則不會刪除對象
另外,來自 Python 官方文檔參考:
del x 不直接調用 x。 del () — 前者將 x 的引用計數減一,后者僅在 x 的引用計數達到零時調用
您在解決方案中需要的是使用類似del object
東西,其中對象是您要刪除的實例。
您是否嘗試使用 None ? 像這樣:
timer = None
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.