Ответ 1
Используйте один аргумент с префиксом **
.
>>> def foo(**args):
... print(args)
...
>>> foo(a=1, b=2)
{'a': 1, 'b': 2}
Как я могу получить имена аргументов и их значения, переданные методу в качестве словаря?
Я хочу указать необязательные и необходимые параметры для запроса GET как часть HTTP API для создания URL-адреса. Я не уверен в том, как лучше сделать этот питон.
Используйте один аргумент с префиксом **
.
>>> def foo(**args):
... print(args)
...
>>> foo(a=1, b=2)
{'a': 1, 'b': 2}
Для аргументов без ключевого слова используйте один аргумент *
и для ключевого слова, используйте **
.
Например:
def test(*args, **kwargs):
print args
print kwargs
>>test(1, 2, a=3, b=4)
(1, 2)
{'a': 3, 'b': 4}
Аргументы без ключевого слова будут распакованы в кортеж, а аргументы с ключевыми словами будут распакованы в словарь. Распаковка списков аргументов