CommencezCommencez gratuitement

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

Voir le cours

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 kwargs pour 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" et status="missing".
  • Dans le deuxième appel à report_status(), passez les paires mot clé–valeur suivantes : name="anakin", affiliation="sith lord" et status="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=____)
Modifier et exécuter le code