Я просто получаю в борьбу с декораторами в Python и использовать их, чтобы добавить обратные вызовы некоторых переменному экземпляра с помощью следующей простой схеме:Могу ли я реорганизовать этот простой обратный шаблон, который использует декоратор свойств?
class A(object):
def __init__(self):
self._var = 0
self.var_callbacks = []
@property
def var(self):
return self._var
@var.setter
def var(self, x):
self._var = x
for f in self.var_callbacks:
f(x)
Декоратора свойства является аккуратным способом позволяет мне вводить обратные вызовы, где это необходимо без изменения интерфейса класса. Однако после третьей или четвертой переменной это делает код несколько повторяющимся.
Есть ли способ, чтобы реорганизовать эту картину в чем-то по следующему:
class A(object):
def __init__(self):
self.var = 0
enable_callback(self, 'var', 'var_callbacks')
У вас есть цикл после возвращения заявления – jamylak
Ах, да. Теперь ушла ошибка c & p. –