Код: Выделить всё
class ClassB():
def __init__(self):
self.callbacks = []
def register_callback(self):
def wrapper(fn):
self.callbacks.append(fn)
return fn
return wrapper
< /code>
Инстатью на уровне модуля работает хорошо: < /p>
import ClassB
class_b = ClassB()
class ClassA():
def __init__(self):
pass
@class_b.register_callback()
def do_something(self):
# do stuff
< /code>
Степени в качестве переменной экземпляра не работает: < /p>
import ClassB
class ClassA():
def __init__(self):
self.class_b = SomeClassB()
@self.class_b.register_callback()
def do_something(self):
# do stuff
Подробнее здесь: https://stackoverflow.com/questions/795 ... vel-object