45 votes

Les arguments Python sous forme de dictionnaire

Comment puis-je obtenir les noms des arguments et leurs valeurs passés à une méthode sous forme de dictionnaire ?

Je veux spécifier les paramètres optionnels et requis pour une requête GET dans le cadre d'une API HTTP afin de construire l'URL. Je ne suis pas sûr de la meilleure façon de rendre cela pythonique.

61voto

larsmans Points 167484

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

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

45voto

Bhargav Mangipudi Points 1055

Pour sans mot-clé utilisez un seul * et pour mot-clé utiliser 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 sans mot-clé sont décompressés en un tuple et les arguments avec mot-clé sont décompressés en un dictionnaire. Déballage des listes d'arguments

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X