Как мне передать дополнительные аргументы декоратору Python?

У меня есть декоратор, как показано ниже.

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 заданный)

Почему функция не прошла автоматически?Как явно передать функцию в функцию декоратора?

79
задан Vadim Kotov 26 June 2018 в 10:36
поделиться