У меня есть пример на https://www.youtube.com для обертывания функций, но он генерирует исключение.python function wrapping not working
def addOne(myfunc):
def addOneInside(myfunc):
return myfunc()+1
return addOneInside
def oldFunc():
return 3
oldFunc=addOne(oldFunc)
print oldFunc()
ошибка:
TypeError: addOneInside() takes exactly 1 argument (0 given)
любой орган может объяснить, что это проблема.
Более общее решение состоит в том, чтобы функция-обертка принимала любые аргументы с помощью 'def addOneInside (* args, ** kwargs) 'и передать их с помощью' return myfunc (* args, ** kwargs) + 1'. – Blckknght
благодарит за ответ, k получил его :) –