Funkcje ze zmienną liczbą argumentów nazwanych (**kwargs)
Czas pójść o krok dalej w pracy z elastycznymi argumentami – już wiesz, jak używać *args, a teraz poznasz **kwargs! Różnica polega na tym, że **kwargs pozwala przekazać do funkcji dowolną liczbę argumentów nazwanych. Jak pamiętasz z poprzedniego wideo, wewnątrz funkcji kwargs jest słownikiem.
Aby lepiej zrozumieć tę ideę, w tym ćwiczeniu użyjesz **kwargs do zdefiniowania funkcji przyjmującej zmienną liczbę argumentów nazwanych. Funkcja będzie symulować prosty system raportowania stanu, który wyświetla informacje o postaci z filmu.
To ćwiczenie jest częścią kursu
Wprowadzenie do funkcji w Pythonie
Instrukcje do ćwiczenia
- Uzupełnij nagłówek funkcji o nazwę
report_status. Powinna przyjmować jeden elastyczny argument**kwargs. - Przejdź przez pary klucz-wartość słownika
kwargs, aby wyświetlić klucze i wartości oddzielone dwukropkiem:. - W pierwszym wywołaniu
report_status()przekaż następujące pary klucz-wartość:name="luke",affiliation="jedi"istatus="missing". - W drugim wywołaniu
report_status()przekaż następujące pary klucz-wartość:name="anakin",affiliation="sith lord"istatus="deceased".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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=____)