Я хочу создать функцию обертку что-то вроде следующего:как использовать произвольную функцию в функции упаковщика в Python
def functionWrapper(function, **kwargs):
"""
This function requires as input a function and a dictionary of named arguments for that function.
"""
results=function(**kwargs)
print results
def multiply(multiplicand1=0, multiplicand2=0):
return multiplicand1*multiplicand2
def main():
functionWrapper(
multiply,
{
'multiplicand1': 3,
'multiplicand2': 4,
}
)
if __name__ == "__main__":
main()
Я впадающей трудности с этой реализации:
TypeError: functionWrapper() takes exactly 1 argument (2 given)
Как мне решить эту проблему? Является ли мое использование произвольной функции в функции обертки function(**kwargs)
разумной? Спасибо за вашу помощь.
EDIT: исправлена ошибка в описании словаря
Посмотрите декораторы. – wheaties