Код ниже, предполагает, чтобы войти имя функции, количество позиционных аргументов и именованных аргументыPython функции декоратор примера
def log(original_function):
def new_function(*args, **kwargs):
with open("log.txt", "w") as logfile:
logfile.write("%s,%s,%s" % (log, len(args),len(kwargs.keys())))
return original_function(*args, **kwargs)
return new_function
def my_function(message):
print(message)
>>> my_function = log(my_function)
>>> A = (2,3,4,5)
>>> B = {'Anthony' : 6, 'James' : 7}
>>> my_function(*A, **B)
Я получаю эту ошибку:
return original_function(*args, **kwargs)
TypeError: my_function() got an unexpected keyword argument 'Anthony'
Я прошел через на предыдущих страницах учебника, который я изучаю, и я следил за всем синтаксисом ... Кажется, я думаю.
Ваш отступ неправильный. Дайте целой «новой_функции» еще одну вкладку в – Pynchia
также «return new_function» следует отступом с еще одной вкладкой – Pynchia
, а затем есть слишком много аргументов для 'my_function' ... – Pynchia