在结构中存储函数/方法的args和kwarg的最佳方法

时间:2019-12-10 16:05:09

标签: python python-3.x python-2.7

为函数/方法保留args和kwargs的最佳方法。

我有一个函数,需要使用多个参数,args和kwargs来调用。

t.addelement("tas", "alpha", action="pro", set=False)
t.addelement("mas", "beta", action="sub", set=False)
t.addelement("mas", "beta", action="sub", set=True)

我想将参数放在列表之外,并进行循环:

 for args in args_list:
   t.addelement(args)

存储参数的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以将它们保留在元组和字典的列表中,以获得相对习惯的*和**解压缩风格:

args_list = [
    (('tas', 'alpha'), {'action': 'pro', 'set': False}),
    (('mas', 'beta'), {'action': 'sub', 'set': True)),
    ...
]

for args, kwargs in args_list:
    t.addelement(*args, **kwargs)

答案 1 :(得分:0)

分隔命名参数和位置参数,并使用星号解包:

args = ("tas", "alpha")
kwargs = {action:"pro", set:False}
t.addelement(*args, **kwargs)