Переменная класса для класса Python не сохраняется между пакетами.
У меня есть класс "HookRegistry", который должен динамически записывать функции, аннотированные с помощью метода @regiser_hook. Он делает это успешно, но когда я go снова выясняю список зарегистрированных хуков, переменная списка, содержащая их, кажется, переинициализируется.
class HookRegistry(object):
hooks = []
def register_hook(f):
HookRegistry.hooks.append(f)
print("Registrering hook. There are now {} hooks registered.".format(len(HookRegistry.hooks)))
def wrap(*args, **kwargs):
f(*args, **kwargs)
return wrap
def execute_hooks(*args, **kwargs):
for f in HookRegistry.hooks:
f(*args, **kwargs)
Полный исходный код можно найти по адресу https://github.com/conallprendergast/python_hook_registry_example/tree/not_working
Я бегу python 3,8 на арке linux