我正在使用一个对象__del__()
从事件中取消订阅它(使用类似于此的事件方案):
import my_enviroment
class MyClass():
def __del__(self):
my_environment.events.my_event -= self.event_handler_func
奇怪的是,我在程序运行结束时收到以下错误:
Exception AttributeError: "'NoneType' object has no attribute 'events'" in <bound method MyClass.__del__ of <myclass.MyClass instance at 0x04C54580>> ignored
这怎么可能?!my_environment
是我导入的模块,怎么会是None?(events
是其中带有事件挂钩的全局对象,例如my_event
)