Я использую объект __ 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 > ignored
Как такое могло быть ?! my_environment
- это модуль, который я импортировал, почему он может быть None? ( events
- это глобальный объект в нем с перехватчиками событий, такими как my_event
)