C'est quoi les kwargs en Python ?
Que sont les kwargs ? Quand et comment les utiliser ?
On voit tout ça dans cet article sur les paramètres nommés dans les fonctions en Python.
**Kwargs veut dire “keyword arguments” ou paramètres nommés en français. d’arguments de mots-clés. Ils permettent à une fonction de recevoir un nombre variable de paramètres nommés, symbolisé par les deux étoiles (**
) qui les précèdent.**
Note : On peut utiliser le nom de paramètre qu’on veut mais la convention est d’utiliser “kwargs”.
Explication en video des kwargs :
Voyons les kwargs plus en détail.
Comment utiliser les kwargs en Python ?
Imaginons une fonction simple que nous appelons ma_fonction
et à laquelle on passe les paramètres nommés x
, y
, et z
:
def ma_fonction(**kwargs):
print(kwargs)
Quand on exécute cette fonction avec les valeurs x="comment"
, y="coder"
, et z=".com"
, Python les regroupe dans un dictionnaire accessible dans la fonction :
ma_fonction(x="comment", y="coder", z=".com")
Le résultat affiché est un dictionnaire : {'x': 'comment', 'y': 'coder', 'z': '.com'}
. Ça veut dire qu’on peut passer autant de paramètres nommés qu’on veut et la fonction les récupérera dans un dictionnaire.
Comment manipuler les kwargs ?
Dans notre fonction, on va manipuler ces paramètres nommés comme on veut.
On peut par exemple, les afficher dans un ordre spécifique :
def ma_fonction(**kwargs):
print(kwargs['x'] + kwargs['y'] + kwargs['z'])
En lançant notre programme, on a la chaîne de caractères “commentcoder.com”.
L’ordre des paramètres nommés n’a pas d’importance, car les kwargs fonctionnent avec les clés du dictionnaire.
Conclusion sur les kwargs
En conclusion, les kwargs sont une fonctionnalité puissante pour les fonction en Python.
Que vous construisiez des applications complexes ou des scripts plus simples, comprendre et utiliser les kwargs peut simplifier votre code et le rendre plus modulaire.
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.