아래와 같은 데코레이터가 있습니다.
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 개 지정됨).
함수가 자동으로 전달되지 않는 이유는 무엇입니까? 데코레이터 함수에 함수를 명시 적으로 전달하는 방법은 무엇입니까?