Zacznij terazZacznij za darmo

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

Zobacz kurs

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" i status="missing".
  • W drugim wywołaniu report_status() przekaż następujące pary klucz-wartość: name="anakin", affiliation="sith lord" i status="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=____)
Edytuj i uruchom kod