Jak przekazać dodatkowe argumenty do dekoratora Pythona?

Mam dekoratora jak poniżej.

<code>def myDecorator(test_func):
    return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
    return test_func
@myDecorator
def someFunc():
    print 'hello'
</code>

Chcę ulepszyć tego dekoratora, aby zaakceptować inny argument, jak poniżej

<code>def myDecorator(test_func,logIt):
    if logIt:
        print "Calling Function: " + test_func.__name__
    return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
    print 'Hello'
</code>

Ale ten kod daje błąd,

TypeError: myDecorator () pobiera dokładnie 2 argumenty (1 podany)

Dlaczego funkcja nie jest automatycznie przekazywana? Jak jawnie przekazać funkcję do dekoratora?

questionAnswers(4)

yourAnswerToTheQuestion