小编Pho*_*x-C的帖子

如何在Python中返回带有双星/星号的**kwargs?

假设我有以下功能:

def f(**kwargs):
    for key in kwargs.keys():
        print(key + ': ' + str(kwargs[key]))

def make_kwargs():
    # My example implementation here
    params = {'a' : 1, 'b' : 2}
    return params # Here is the part I don't know how to do
Run Code Online (Sandbox Code Playgroud)

并且必须按以下方式调用函数:

f(make_kwargs())
Run Code Online (Sandbox Code Playgroud)

但是,这将返回TypeError

类型错误:f() 接受 0 个位置参数,但给出了 1 个

我试过:

return **params
Run Code Online (Sandbox Code Playgroud)

但语法无效。

假设我无法修改函数f()及其调用方式 ( f(make_kwargs()))。我唯一可以修改的部分是我的实现方式make_kwargs()。我想知道是否有办法做到这一点?

python keyword-argument python-3.x

1
推荐指数
1
解决办法
4993
查看次数

标签 统计

keyword-argument ×1

python ×1

python-3.x ×1