在python中传递命名变量参数

Sta*_*ale 12 python variadic-functions

说我有以下方法:

def methodA(arg, **kwargs):
    pass

def methodB(arg, *args, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

在methodA中,我希望调用methodB,传递kwargs.但是,似乎如果我定义methodA如下,第二个参数将作为位置而不是命名变量参数传递.

def methodA(arg, **kwargs):
    methodB("argvalue", kwargs)
Run Code Online (Sandbox Code Playgroud)

如何确保methodA中的**kwargs作为**kwargs传递给methodB?

Cri*_*ian 33

把星号放在kwargs变量之前.这使得Python将变量(假定为字典)作为关键字参数传递.

methodB("argvalue", **kwargs)
Run Code Online (Sandbox Code Playgroud)