Python参数作为字典

52 投票
2 回答
94062 浏览
提问于 2025-04-17 10:46

我该如何将传递给一个方法的参数名和它们的值获取为一个字典呢?

我想在一个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}

撰写回答