CommencerCommencez gratuitement

Fonctions avec des arguments de longueur variable (\*\*kwargs)

Poussons plus loin ce que vous avez appris sur les arguments flexibles. Vous avez utilisé *args, vous allez maintenant utiliser **kwargs ! La particularité de **kwargs est qu’il vous permet de passer un nombre variable d’arguments de type mot-clé aux fonctions. Rappelez-vous de la vidéo précédente : dans la définition de la fonction, kwargs est un dictionnaire.

Pour mieux comprendre cette idée, vous allez utiliser **kwargs dans cet exercice pour définir une fonction qui accepte un nombre variable d’arguments de type mot-clé. La fonction simule un système simple de rapport d’état qui affiche l’état d’un personnage dans un film.

Cet exercice fait partie du cours

<cours>Introduction aux fonctions en Python</cours>
Voir le cours

Instructions de l’exercice

  • Complétez l’en-tête de la fonction avec le nom de la fonction report_status. Elle accepte un seul argument flexible **kwargs.
  • Itérez sur les paires clé-valeur de kwargs pour afficher les clés et les valeurs, séparées par les deux-points « : ».
  • Dans le premier appel à report_status(), transmettez les paires mot-clé-valeur suivantes : name="luke", affiliation="jedi" et status="missing".
  • Dans le deuxième appel à report_status(), transmettez 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