Comment utiliser * args et ** kwargs en Python


Comment utiliser * args et ** kwargs en Python

  1. Objectifs

    • Dans cet article, nous allons découvrir les instructions * args et ** kwargs, leurs utilisations et leurs fonctions avec des exemples, Comment utiliser * args et ** kwargs en Python.
  2. Présentation

    • Dans les définitions de fonction , les paramètres sont des entités nommées qui spécifient un argument qu’une fonction donnée peut accepter.
    • Nous pouvons passer un nombre variable d’arguments à une fonction en utilisant * args et ** kwargs dans notre code.
    • * args et ** kwargs sont principalement utilisés dans les définitions de fonctions. * args et ** kwargs vous permettent de passer un nombre non spécifié d’arguments à une fonction, donc lors de l’écriture de la définition de fonction, vous n’avez pas besoin de savoir combien d’arguments seront passés à votre fonction.
    • La syntaxe spéciale * args dans les définitions de fonction en python est utilisée pour passer un nombre variable d’arguments à une fonction. Il est utilisé pour transmettre une liste d’arguments de longueur variable sans mots clés.




  3. argument de fonction

    • En programmation, nous définissons une fonction pour créer un code réutilisable qui effectue une opération similaire. Pour effectuer cette opération, nous appelons une fonction avec la valeur spécifique, cette valeur est appelée un argument de fonction en Python.
    • En Python, nous pouvons passer un nombre variable d’arguments à une fonction en utilisant des symboles spéciaux. Il y a deux symboles spéciaux:
      • * args (Arguments sans mots clés)
      • ** kwargs (Arguments de mot-clé)
    • Nous vous recommandons de lire la fonction en Python.
  4. Utilisation de * args

    • En Python, la forme à astérisque unique * args peut être utilisée comme paramètre pour envoyer une liste d’arguments de longueur variable sans mot clé à des fonctions.
    • args est une forme courte d’arguments. Avec l’utilisation de *args, prend n’importe quel nombre d’arguments dans la fonction définie par l’utilisateur et convertit les entrées de l’utilisateur en un tuple nommé args. En d’autres termes, *args signifie zéro ou plusieurs arguments qui sont stockés dans un tuple nommé args.
    • Il convient de noter que l’astérisque (*) est l’élément important ici, comme le mot args est l’idiome conventionnel établi, bien qu’il ne soit pas imposé par la langue.
    • Ce que * args vous permet de faire, c’est de prendre plus d’arguments que le nombre d’arguments formels que vous avez précédemment définis.
    • La syntaxe consiste à utiliser le symbole * pour prendre un nombre variable d’arguments; par convention, il est souvent utilisé avec le mot args.

    • Exemple:
      • Lorsque nous appelons la fonction, nous devons utiliser des nombres pour correspondre avec a et b.
      • Pour appeler la fonction nous devons écrire:multiplier(6,9)

      • Si, plus tard, nous décidions que nous aimerions multiplier trois nombres plutôt que deux. Si nous essayons d’ajouter un numéro supplémentaire à la fonction, comme indiqué ci-dessous, nous recevrons une erreur.
      • TypeError: multiply() takes 2 positional arguments but 3 were given
      • Pour résoudre ce problème on doit utiliser * args
      • On doit créer la même fonction et le même code que ceux que nous avons montrés dans le premier exemple, en supprimant a et b en tant que paramètres de fonction, et en les remplaçant à la place par *args:
      • Il n’est pas obligatoire d’utiliser uniquement le mot-clé nommé args. Vous pouvez utiliser n’importe quelle convention de dénomination autre que args.

  5. Utilisation de ** kwargs

    • ** kwargs vous permet de passer des arguments de longueur variable mot – clé à une fonction.
    • Vous devez utiliser ** kwargs si vous souhaitez gérer des arguments nommés dans une fonction.
    • Utiliser ** kwargs est presque identique à l’utilisation de * args mais dans ** kwargs, vous pouvez passer des arguments de mot-clé.
  6. Comment obtenir chaque argument?

    • Vous pouvez extraire des arguments basés sur l’index comme nous obtenons une valeur du tuple basée sur la position d’index se args[0] réfère au premier argument car l’indexation en python
  7. Comment inclure à la fois d’arguments fixes et d’arguments dynamiques ?

    • Python vous permet d’inclure à la fois un argument fixe et un nombre dynamique d’arguments en utilisant * args.
    • Il est important de noter qu’il est nécessaire d’inclure un argument fixe. Cependant, vous pouvez ignorer le passage d’arguments dynamiques et cela ne retournera pas d’erreur.
    • Exemple

      • Dans ce qui suit, nous créons une fonction simple qui ajoute toutes les composantes d’une note. cette note comprend une note de base, que tous les élèves doivent l’avoir. D’autres notes d’encouragement données aux élèves brillants.
  8. Applications

    • App01
      • Énoncé
        • Écrire une fonction “somme” avec un argument “tuple” de longueur variable qui calcule la somme des nombres contenus dans le tuple.
        • Tester cette fonction par des appels avec différents tuples d’entiers ou de flottants.
      • Réponse
    • App02
      • Énoncé
        • Écrire une fonction “unDictionnaire” avec un argument “dictionnaire de longueur variable”, et qui affiche son argument.
        • Dans le programme principal, définir un dictionnaire, puis utilisez la syntaxe d’appel à la fonction qui décompresse le dictionnaire. Affichez le résultat.
      • Réponse




Sommaire du cours Python



Riadh HAJJI

Laisser un commentaire

Abonnez vous à notre chaîne YouTube gratuitement