НачатьНачать бесплатно

Функции с переменным числом именованных аргументов (**kwargs)

Продолжим изучение гибких аргументов — вы уже работали с *args, а теперь познакомитесь с **kwargs! Отличие **kwargs в том, что он позволяет передавать в функцию произвольное количество именованных аргументов. Как вы узнали из предыдущего видео, внутри функции kwargs представляет собой словарь.

Чтобы лучше разобраться в этой концепции, вы используете **kwargs в данном упражнении для определения функции, принимающей переменное число именованных аргументов. Функция имитирует простую систему отчётов о статусе персонажа фильма.

Это упражнение является частью курса

Введение в функции Python

Посмотреть курс

Инструкции к упражнению

  • Завершите заголовок функции, задав ей имя report_status. Функция должна принимать единственный гибкий аргумент **kwargs.
  • Выполните итерацию по парам «ключ–значение» словаря kwargs и выведите ключи и значения, разделяя их двоеточием ':'.
  • В первом вызове report_status() передайте следующие пары «ключ–значение»: name="luke", affiliation="jedi" и status="missing".
  • Во втором вызове report_status() передайте следующие пары «ключ–значение»: name="anakin", affiliation="sith lord" и status="deceased".

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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=____)
Редактировать и запускать код