使用variab中的一组参数调用Python函数

2024-04-29 08:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python脚本中,我多次调用这个函数

write2db(int(pocnr), larm1, tid, label1, q1, x, y, lat, long, radio)

我想把一组变量放在一个变量里。你知道吗

应该是这个样子

write2db(myargs)

因此,当我对arg列表进行更改时,我不必在多个地方进行更改。我试过几件事,但至今没有成功。 有什么建议吗?你知道吗


Tags: 函数脚本arglongintradiolattid
2条回答

您可以用这些参数中的每一个创建一个namedtuple,然后在函数中按名称取出这些参数。你知道吗

或者可以只使用可变长度参数*args,然后在函数中:

    for arg in args:
        # do something with arg

您可以使用*args**kwargs。名字argskwargs其实并不重要,但关键在于***。基本上,*将解压一个列表,类似地,**将解压一个dict

*args只是一个值列表,其顺序与定义函数的顺序相同。你知道吗

例如

args = [23, 6, 2, "label", 5, 25, 21, 343.22, 111.34, 2]
write2db(*args)

**kwargs是参数名到参数值的键值映射(python dict)

例如

kwargs = {
    'pocnr': 23,
    'larm1': 21,
    # ... etc.
}
write2db(**kwargs)

相关问题 更多 >