Во-первых, я не знаю, правильный ли это подход. Я хочу написать класс декоратора, который будет использоваться с методами другого класса. Перед запуском метода я хотел бы проверить, инициализированы ли все необходимые переменные класса. Идеальным случаем было бы что-то похожее на это:
class Test(object):
def __init__(self, f):
self.f = f
# some magic
def __call__(self):
self.f.magically_get_variable(required)
# do some checks and execute method or throw an exception
class Data(object):
def __init__(self, a, b):
self.a = a
@test
def sum(self):
required('self.a', 'self.b')
return self.a + self.b
Если это не так, как это должно быть сделано, пожалуйста, посоветуйте мне, как это сделать правильно.