假设我有以下功能:
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()
。我想知道是否有办法做到这一点?