我有一个像下面这样的装饰器。
def myDecorator(test_func):
return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
return test_func
@myDecorator
def someFunc():
print 'hello'
我想增强这个装饰器以接受另一个参数,如下所示
def myDecorator(test_func,logIt):
if logIt:
print "Calling Function: " + test_func.__name__
return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
print 'Hello'
但是这段代码给出了错误,
TypeError: myDecorator() 正好接受 2 个参数(1 个给定)
为什么函数没有自动传递?如何将函数显式传递给装饰器函数?