python类装饰程序错误
在下面的示例中,当应用decorator时,我得到一个错误,即python类装饰程序错误,python,Python,在下面的示例中,当应用decorator时,我得到一个错误,即TypeError:rt()正好接受2个参数(给定1个),如何克服这个问题。函数decorator也是如此,因为父类的缘故,所以他会这样做。如何解决这个问题 class applyfilter(object): def __init__(self,f): self.f=f def __call__(self,*args): self.f(*args) 或 我认为您希望在函数调用中使用*运
TypeError:rt()正好接受2个参数(给定1个)
,如何克服这个问题。函数decorator也是如此,因为父类的缘故,所以他会这样做。如何解决这个问题
class applyfilter(object):
def __init__(self,f):
self.f=f
def __call__(self,*args):
self.f(*args)
或
我认为您希望在函数调用中使用
*
运算符,如下所示:
def rt1(*args):
print f.__name__
print args
return f(*args)
这样,rt1
的参数将打包到args
,然后在调用f(*args)
时解包
参考资料:您没有将任何
数据
传递给rt()
。请在问题中更正您的更正仍然缺少def rt1(*args)上的星号
。
def rt1(*args):
print f.__name__
print args
return f(*args)