Kom igångKom igång gratis

Funktioner med variabelt antal nyckelordargument (**kwargs)

Nu tar vi nästa steg med flexibla argument – du har använt *args, och nu är det dags för **kwargs! Det som skiljer **kwargs från *args är att det låter dig skicka ett valfritt antal nyckelordargument till en funktion. Som du såg i videon är kwargs ett dictionary inuti funktionen.

För att förstå detta bättre ska du använda **kwargs i den här övningen för att definiera en funktion som tar emot ett variabelt antal nyckelordargument. Funktionen simulerar ett enkelt statussystem som skriver ut statusen för en karaktär i en film.

Den här övningen är en del av kursen

Introduktion till funktioner i Python

Visa kurs

Övningsinstruktioner

  • Fyll i funktionshuvudet med funktionsnamnet report_status. Det ska ta emot ett enda flexibelt argument **kwargs.
  • Iterera över nyckel-värde-paren i kwargs för att skriva ut nycklarna och värdena, separerade med ett kolon ':'.
  • I det första anropet till report_status(), skicka följande nyckel-värde-par: name="luke", affiliation="jedi" och status="missing".
  • I det andra anropet till report_status(), skicka följande nyckel-värde-par: name="anakin", affiliation="sith lord" och status="deceased".

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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=____)
Redigera och kör kod