Funcții cu argumente cheie de lungime variabilă (**kwargs)
Să mergem mai departe cu ceea ce ai învățat despre argumentele flexibile – ai folosit *args, acum vei folosi **kwargs! Diferența constă în faptul că **kwargs îți permite să transmiți un număr variabil de argumente cheie unei funcții. Reține din videoclipul anterior că, în interiorul definiției funcției, kwargs este un dicționar.
Pentru a înțelege mai bine această idee, vei folosi **kwargs în acest exercițiu pentru a defini o funcție care acceptă un număr variabil de argumente cheie. Funcția simulează un sistem simplu de raportare a stării unui personaj dintr-un film.
Acest exercițiu face parte din cursul
Introducere în funcții în Python
Instrucțiuni pentru exercițiu
- Completează antetul funcției cu numele
report_status. Aceasta acceptă un singur argument flexibil:**kwargs. - Iterează prin perechile cheie-valoare ale
kwargspentru a afișa cheile și valorile, separate prin două puncte ':'. - În primul apel al funcției
report_status(), transmite următoarele perechi cheie-valoare:name="luke",affiliation="jedi"șistatus="missing". - În al doilea apel al funcției
report_status(), transmite următoarele perechi cheie-valoare:name="anakin",affiliation="sith lord"șistatus="deceased".
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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=____)