我想创建一个包装器函数,如下所示:
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()
我在实施过程中遇到了困难:
^{pr2}$我该如何解决这个问题?我在包装器函数function(**kwargs)
中使用任意函数是否合理?谢谢你的帮助。在
编辑:修正了字典规范中的错误
将dict项传递给该函数时使用**
输出:
^{pr2}$正如@svk在评论中指出的,
functionWrapper
的doctstring说:因此,在这种情况下,您需要将函数定义更改为:
同时也要纠正口述中的打字错误,否则答案为0:
'
我觉得这个问题的精神也在乞求这个答案,让它成为一个更一般的包装。在
只需在函数防御中将
**kwargs
更改为kwargs
:What does ** (double star) and * (star) do for parameters?
相关问题 更多 >
编程相关推荐