Funkce s proměnným počtem pojmenovaných argumentů (**kwargs)
Pojďme ještě dál v tom, co ses naučil/a o flexibilních argumentech – používal/a jsi *args, a teď přijde na řadu **kwargs! Rozdíl spočívá v tom, že **kwargs ti umožňuje předat funkci libovolný počet pojmenovaných argumentů. Z předchozího videa víš, že uvnitř definice funkce je kwargs slovník.
Aby ti tato myšlenka dávala větší smysl, použiješ v tomto cvičení **kwargs k definici funkce, která přijímá proměnný počet pojmenovaných argumentů. Funkce simuluje jednoduchý systém stavových hlášení, který vypisuje stav postavy z filmu.
Toto cvičení je součástí kurzu
Úvod do funkcí v Pythonu
Pokyny k cvičení
- Dokonči hlavičku funkce s názvem
report_status. Funkce přijímá jediný flexibilní argument**kwargs. - Projdi dvojice klíč–hodnota slovníku
kwargsa vypiš klíče a hodnoty oddělené dvojtečkou ':'. - V prvním volání funkce
report_status()předej tyto dvojice klíč–hodnota:name="luke",affiliation="jedi"astatus="missing". - V druhém volání funkce
report_status()předej tyto dvojice klíč–hodnota:name="anakin",affiliation="sith lord"astatus="deceased".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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=____)