Функції зі змінною кількістю іменованих аргументів (**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=____)