作为字典的python参数

Python arguments as a dictionary

如何获取参数名及其值作为字典传递给方法?

我想指定作为HTTP API一部分的GET请求的可选和必需参数,以便构建URL。我不确定制作这种Python的最佳方法。


使用一个前缀为**的参数。

1
2
3
4
5
>>> def foo(**args):
...     print(args)
...
>>> foo(a=1, b=2)
{'a': 1, 'b': 2}


对于非关键字参数,使用单个*,对于关键字参数,使用**

例如:

1
2
3
4
5
6
7
def test(*args, **kwargs):
    print args
    print kwargs

>>test(1, 2, a=3, b=4)
(1, 2)
{'a': 3, 'b': 4}

非关键字参数将解包到元组,关键字参数将解包到字典。解包参数列表