Аргументы Python как словарь

Как я могу получить имена аргументов и их значения, переданные методу в качестве словаря?

Я хочу указать необязательные и необходимые параметры для запроса GET как часть HTTP API для создания URL-адреса. Я не уверен в том, как лучше сделать этот питон.

Ответ 1

Используйте один аргумент с префиксом **.

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

Ответ 2

Для аргументов без ключевого слова используйте один аргумент * и для ключевого слова, используйте **.

Например:

def test(*args, **kwargs):
    print args
    print kwargs

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

Аргументы без ключевого слова будут распакованы в кортеж, а аргументы с ключевыми словами будут распакованы в словарь. Распаковка списков аргументов