将相同的参数传递给另一个函数

时间:2019-02-18 08:00:50

标签: python python-2.7

我发现我经常遇到这种情况。我将有一个带有一堆参数的核心函数,需要使用相同的参数运行一个辅助函数。现在,我感觉在调用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使用**kwargsmasterFunc,因为我发现它一目了然,无法一目了然地知道它需要什么参数。

0 个答案:

没有答案