Python *args et **kwargs vous permettent de passer un nombre variable d’arguments dans une fonction. *Les arguments args n’ont pas de mots-clés alors que les **arguments kwargs sont chacun associés à un mot-clé.
Traditionnellement, lorsque vous travaillez avec des fonctions en Python, vous devez indiquer directement les arguments de la fonction acceptera.
Dans certains cas, o√π vous voudrez peut-être accepter plus d’arguments à l’avenir, il n’est pas pratique d’indiquer directement tous les paramètres que vous souhaitez utiliser avec une fonction.
C’est là qu’interviennent les mots-clés Python *args et **kwargs. Ces mots-clés permettent de passer un nombre indéfini d’arguments à une fonction.
Ce tutoriel abordera, en se référant à des exemples, les bases des mots-clés *args et **kwargs en Python, et comment ils se comparent.
Python *args
La méthode Python *args représente un nombre varié d’arguments. Il vous permet de transmettre des arguments à une fonction lorsque vous n’êtes pas s√ªr du nombre d’arguments que vous souhaitez transmettre.
Le terme "args‚" est un espace réservé. Dans votre fonction, vous pouvez remplacer le nom de "args‚" avec n’importe quelle valeur. Vous pouvez utiliser des "chiffres" pour représenter une liste de nombres ou "étudiant" représenter un étudiant‚Äô détails.
La syntaxe de la méthode *args est la suivante :
81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.
Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.
Cette fonction accepte un nombre variable d’arguments. Ainsi, nous pourrions passer zéro argument, un argument, deux arguments, et ainsi de suite. Notre fonction affiche sur la console chaque argument que nous passons dans notre fonction.
La valeur après l’astérisque, "nombres‚" représente nos arguments.
Le mot-clé args est utile si vous effectuez des opérations mathématiques, par exemple si vous souhaitez additionner un nombre variable de nombres.
*exemple Python args
√âcrivons un programme qui additionne les valeurs de plusieurs arguments. Cela nous permet d’effectuer une somme mathématique sans avoir à utiliser un signe plus pour chaque valeur que nous voulons ajouter.
Voici un exemple de fonction capable d’additionner plusieurs arguments :
Notre code renvoie :
Tout d’abord, nous déclarons une fonction Python appelée addNumbers(), qui contient le code de notre programme d’ajout de nombres. Cette fonction a un argument spécifié : *args.
Le mot-clé *args est utilisé pour représenter un nombre variable d’arguments potentiels qui pourraient être transmis à la fonction.
Ensuite, nous déclarons une variable Python appelée total qui garde une trace du nombre total que nous ajoutons. Initialement, cette variable est définie sur 0.
Nous utilisons une boucle for pour parcourir chaque argument du mot-clé args et nous ajoutons chaque nombre à notre total. Notez que lorsque vous faites référence aux arguments stockés dans *args, vous utilisez le "args‚" mot-clé. Ensuite, nous imprimons le nombre total que notre programme a calculé.
Dans notre programme principal, nous appelons deux fois la méthode addNumbers(). Lorsque nous appelons la fonction pour la première fois, nous spécifions trois nombres que nous voulons que notre fonction additionne. La prochaine fois que nous appelons la fonction, nous spécifions quatre nombres que nous voulons que notre fonction additionne.
Comme nous avons utilisé *args, nous pouvons envoyer un nombre illimité d’arguments à notre fonction. Notre programme fonctionne quel que soit le nombre d’arguments que nous passons.
Python **kwargs
Le mot-clé **kwargs représente un nombre arbitraire d’arguments qui sont passés à une fonction. **les mots-clés kwargs sont stockés dans un dictionnaire. Vous pouvez accéder à chaque élément en vous référant au mot-clé que vous avez associé à un argument lorsque vous avez passé l’argument.
La syntaxe pour **kwargs est :
Ce code nous permet de passer un nombre variable d’arguments de mots clés dans notre fonction. Le nom **kwargs n’est qu’un substitut. Vous pouvez remplacer "kwargs‚" avec n’importe quel terme que vous souhaitez.
Nous utilisons le nom après l’astérisque comme étiquette pour nos arguments de mot-clé. Dans ce cas, notre label est "record". Les valeurs d’une méthode **kwargs sont stockées dans des paires clé-valeur. C’est pourquoi nous devons utiliser items() pour parcourir tous les arguments que nous avons passés à notre fonction.