*args et **kwargs en Python

En Python, nous pouvons passer un nombre variable d’arguments à une fonction en utilisant:

  • *args (Arguments non liés aux mots clés)
  • **kwargs (Arguments liés aux mots clés)

Nous utilisons *args et **kwargs comme argument lorsque nous ne sommes pas certains du nombre d’arguments à transmettre dans les fonctions.
 
 

Utilisation de *args

*args et **kwargs sont principalement utilisés dans les définitions de fonctions. *args et **kwargs vous permettent de passer un nombre variable d’arguments à une fonction. Ici, variable signifie, c’est que vous ne savez pas d’avance combien d’arguments peuvent être transmis à votre fonction par l’utilisateur. Dans ce cas, vous utilisez ces deux mots-clés. *args est utilisé pour envoyer une liste d’arguments de longueur variable sans mot-clé à la fonction. Voici un exemple pour vous aider à avoir une idée claire:

# *args pour un nombre variable d'arguments
def display(*argv):  
    for arg in argv:  
        print (arg) 
    
display('Hello', 'Welcome', 'to', 'WayToLearnX')

Cela produit le résultat suivant:

Hello
Welcome
to
WayToLearnX

 

Utilisation de **kwargs

**kwargs vous permet de transmettre une liste d’arguments de longueur variable avec des mots-clés à une fonction. Vous devez utiliser **kwargs si vous souhaitez gérer des arguments nommés dans une fonction. Voici un exemple pour vous aider:

def display(**kwargs):  
    for key, value in kwargs.items(): 
        print ("%s == %s" %(key, value)) 
  
display(id=1, name='Alex', age=23)

Cela produit le résultat suivant:

id == 1
name == Alex
age == 23
QCM PythonQCM Python – Partie 1Questions pratiques pour testez vos connaissances sur la programmation Python à savoir des structures conditionnelles, des opérations logiques, des boucles, des fonctions, etc. Testez votre…Lire plus
Conclusion
  • *args et **kwargs sont des mots clés spéciaux qui permettent à la fonction de prendre un argument de longueur variable.
  • *args et **kwargs rendent la fonction flexible.
  • *args transmet un nombre variable d’arguments sans mot-clé et sur lequel les opérations d’une liste peut être effectuée.
  • ** kwargs transmet un nombre variable d’arguments avec des mot-clés et sur lequel les opérations d’un dictionnaire peut être effectué.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *