从python中的位置参数生成关键字参数

问题描述 投票:1回答:1

给出函数定义

def foo(model, evaluator):
    pass 

model = ...
evaluator = ...

和这样的呼叫站点

foo(model=model, evaluator=evaluator)

我只想做

foo(model, evaluator)

为避免重复,但随后在foo中构造了关键字参数,以便稍后传递给** kwargs参数。

我唯一能想到的是

def foo(*args):
    **{str(arg): arg for arg in args}

这样可以吗?

python args kwargs
1个回答
0
投票
>>> def foo(bar, baz): ... print('bar',bar,'baz',baz) ... >>> bar=2 >>> baz=3 >>> foo(bar,baz) bar 2 baz 3

有关位置参数的更多信息:Positional argument v.s. keyword argument

© www.soinside.com 2019 - 2024. All rights reserved.