Функции с переменным числом именованных аргументов (**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=____)