Я использую __del__()
объекта, чтобы отменить подписку на событие (используя схему событий, аналогичную this):
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
- это модуль, который я импортировал, почему это могло быть Нет? (events
- это глобальный объект в нем с перехватчиками событий, такими как my_event
)