所有
我想知道是否可以在函数调用中一次设置多个关键字(通过列表?)。
例如,如果你这样做:
foo, bar = 1, 2
print(foo, bar)
输出为(1,2)
。
对于功能
def printer(foo, bar)
print(foo,bar)
是否可以执行以下操作:
printer([foo, bar] = [1,2])
哪个关键字都是用列表设置的?
特别是,我问的原因是因为我有一个返回两个变量的函数scale
和offset
:
def scaleOffset(...):
'stuff happens here
return [scale, offset]
我想将这两个变量传递给另一个接受它们作为关键字的函数,可能是一个嵌套调用。
def secondFunction(scale=None, offset=None):
'more stuff
到目前为止,我还没有找到像这样打电话的方式:
secondFunction([scale,offset] = scaleOffset())
答案 0 :(得分:3)
将args作为列表传递
arg_list = ["foo", "bar"]
my_func(*arg_list)
要传递kwargs,请使用字典
kwarg_dict = {"keyword": "value"}
my_func(**kwarg_dict)