web-dev-qa-db-fra.com

Python arguments comme dictionnaire

Comment puis-je obtenir des noms d'arguments et leurs valeurs passés à une méthode en tant que dictionnaire?

Je souhaite spécifier les paramètres facultatifs et requis pour une demande GET dans le cadre d'une API HTTP afin de créer l'URL. Je ne suis pas sûr de la meilleure façon de faire ce Pythonic.

42
Sean W.

Utilisez un seul argument préfixé de **.

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

Pour arguments sans mot-clé , utilisez un seul *, et pour les arguments mot-clés, utilisez un **.

Par exemple:

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

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

Les arguments non mot-clés seraient décompressés dans un tuple et les arguments mot-clés seraient décompressés dans un dictionnaire. Déballage des listes d'arguments

35
Bhargav Mangipudi