Python参数作为字典
我该如何将传递给一个方法的参数名和它们的值获取为一个字典呢?
我想在一个HTTP API中,指定GET请求的可选参数和必需参数,以便构建URL。我不太确定用什么方式能让这个过程更符合Python的风格。
2 个回答
54
对于非关键字参数,使用一个*
,而对于关键字参数,使用**
。
举个例子:
def test(*args, **kwargs):
print args
print kwargs
>>test(1, 2, a=3, b=4)
(1, 2)
{'a': 3, 'b': 4}
非关键字参数会被解包成一个元组,而关键字参数会被解包成一个字典。 解包参数列表
67
使用一个前面加了**
的参数。
>>> def foo(**args):
... print(args)
...
>>> foo(a=1, b=2)
{'a': 1, 'b': 2}