CommencerCommencer 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

Introduction aux fonctions en Python

Afficher le cours

Instructions

  • 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 cet exemple de code.

# 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