Fonctions avec un nombre variable d'arguments nommés (**kwargs)
Poussons plus loin ce que vous avez appris sur les arguments flexibles — vous avez utilisé *args, vous allez maintenant utiliser **kwargs ! La différence avec **kwargs, c'est qu'il permet de passer à une fonction un nombre variable d'arguments nommés. Rappelez-vous, d'après la vidéo précédente, que dans la définition de la fonction, kwargs est un dictionnaire.
Pour mieux comprendre ce concept, vous allez utiliser **kwargs dans cet exercice pour définir une fonction qui accepte un nombre variable d'arguments nommés. La fonction simule un simple système de rapport d'état qui affiche l'état d'un personnage dans un film.
Cette activité fait partie du cours
Introduction aux fonctions en Python
Instructions de l’exercice
- Complétez l'en-tête de la fonction avec le nom
report_status. Elle accepte un seul argument flexible**kwargs. - Parcourez les paires clé–valeur de
kwargspour afficher les clés et les valeurs, séparées par deux-points « : ». - Dans le premier appel à
report_status(), passez les paires mot clé–valeur suivantes :name="luke",affiliation="jedi"etstatus="missing". - Dans le deuxième appel à
report_status(), passez les paires mot clé–valeur suivantes :name="anakin",affiliation="sith lord"etstatus="deceased".
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define report_status
def ____(____):
"""Print out the status of a movie character."""
print("\nBEGIN: REPORT\n")
# Iterate over the key-value pairs of kwargs
for ____, ____ in kwargs.items():
# Print out the keys and values, separated by a colon ':'
print(____ + ": " + ____)
print("\nEND REPORT")
# First call to report_status()
# Second call to report_status()
report_status(name=____, affiliation=____, status=____)