IniziaInizia gratis

Funzioni con argomenti di lunghezza variabile (\*\*kwargs)

Approfondiamo ciò che hai imparato sugli argomenti flessibili: hai usato *args, ora userai **kwargs! Ciò che rende **kwargs diverso è che ti permette di passare un numero variabile di argomenti di parole chiave alle funzioni. Ricordiamo dal video precedente che, all'interno della definizione della funzione, kwargs è un dizionario.

Per capire meglio questa idea, in questo esercizio utilizzerai **kwargs per definire una funzione che accetta un numero variabile di argomenti di parole chiave. La funzione simula un semplice sistema di report di stato che stampa lo stato di un personaggio in un film.

Questo esercizio fa parte del corso

Introduzione alle funzioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Completa l'intestazione della funzione con il nome della funzione report_status. Accetta un singolo argomento flessibile **kwargs.
  • Itera le coppie chiave-valore di kwargs per stampare le chiavi e i valori, separati dai due punti ':'.
  • Nella prima chiamata a report_status(), passa le seguenti coppie parola chiave-valore: name="luke", affiliation="jedi" e status="missing".
  • Nella seconda chiamata a report_status(), passa le seguenti coppie parola chiave-valore: name="anakin", affiliation="sith lord" e status="deceased".

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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=____)
Modifica ed esegui il codice