如何在 Python 2 中一次设置多个函数关键字?

How to set multiple function keywords at once, in Python 2?

所有。

我想知道是否可以在函数调用中一次设置多个关键字(通过列表?)。

例如,如果您这样做:

foo, bar = 1, 2
print(foo, bar)

输出为(1,2)

对于函数

def printer(foo, bar)
    print(foo,bar)

是否可以这样做:

printer([foo, bar] = [1,2])

其中两个关键字都设置了一个列表?

特别是,我问的原因是因为我有一个函数 returns 两个变量,scaleoffset:

def scaleOffset(...):
    'stuff happens here

    return [scale, offset]

我想将这两个变量传递给接受它们作为关键字的不同函数,也许作为嵌套调用。

def secondFunction(scale=None, offset=None):
    'more stuff

到目前为止我还没有找到像这样调用的方法:

secondFunction([scale,offset] = scaleOffset())

以列表形式传递参数

arg_list = ["foo", "bar"]
my_func(*arg_list)

要传递 kwargs,请使用字典

kwarg_dict = {"keyword": "value"}    
my_func(**kwarg_dict)