【发布时间】:2010-03-10 17:45:54
【问题描述】:
首先我不知道这是否是正确的方法。我想编写一个装饰器类,它将与其他类的方法一起使用。在运行该方法之前,我想检查是否所有必需的类变量都已初始化。理想的情况是这样的:
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
如果这不是应该做的方式,请告诉我如何正确地做。
【问题讨论】: