我发现我经常遇到这种情况。我将有一个带有一堆参数的核心函数,需要使用相同的参数运行一个辅助函数。现在,我感觉在调用helper函数时我太露骨了,所以感觉很漫长:
def masterFunc(a, b, c, arg1=1, arg2=2, arg3=3):
utilFunc(a, b, c, arg1, arg2, arg3)
def utilFunc(a, b, c, arg1=1, arg2=2, arg3=3):
print "do the thing"
masterFunc("a", "b", "c")
我想我可以使用**kwargs
使其更具程序化性,但是创建字典仍然很漫长:
def masterFunc(a, b, c, arg1=1, arg2=2, arg3=3):
utilFunc(**{"a": a,
"b": b,
"c": c,
"arg1": arg1,
"arg2": arg2,
"arg3": arg3})
def utilFunc(**kwargs):
print "do the thing"
是否有更优雅的方法将相同的参数传递给另一个函数?我觉得我想念什么。
我不想为*args
使用**kwargs
或masterFunc
,因为我发现它一目了然,无法一目了然地知道它需要什么参数。