Python *args **kwargs

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

代码:

def my_fun(request, *args, **kwargs):
    print("request = ", request)
    print("args = ", args)
    print("kwargs = ", kwargs)

fun_args = ("analytic", tuple(), {'run':True, 'override':10})

my_fun(*fun_args)

我现有的定义 my_fun() 就像上面提到的那样,并使用 fun_args 调用 my_fun() ,如上所示,我希望输出如下:

预期输出:

request = analytic
args = ()
kwargs = {'run':True, 'override':10}

请任何人建议在调用 my_fun(*fun_args) 时需要进行哪些更改才能获得预期的输出。

请注意,由于某些限制,我不允许更改 my_fun() 的定义。

任何帮助将不胜感激。

谢谢 彼得

python arguments keyword-argument
1个回答
0
投票

IIUC,你可以这样做:

my_fun(fun_args[0], *fun_args[1], **fun_args[2])

打印:

request =  analytic
args =  ()
kwargs =  {'run': True, 'override': 10}
© www.soinside.com 2019 - 2024. All rights reserved.