Funções com argumentos de palavras-chave de comprimento variável (\*\*kwargs)
Vamos aprofundar o que você aprendeu sobre argumentos flexíveis: você usou *args
, agora você vai usar **kwargs
! O que torna o **kwargs
diferente é que ele permite que você passe um número variável de argumentos de palavras-chave para as funções. Lembre-se de que, no vídeo anterior, na definição da função, kwargs
é um dicionário.
Para entender melhor essa ideia, você usará **kwargs
neste exercício para definir uma função que aceita um número variável de argumentos de palavras-chave. A função simula um sistema simples de relatório de status que imprime o status de um personagem em um filme.
Este exercício faz parte do curso
Introdução a funções em Python
Instruções de exercício
- Complete o cabeçalho da função com o nome da função
report_status
. Ele aceita um único argumento flexível**kwargs
. - Itere sobre os pares chave-valor de
kwargs
para imprimir as chaves e os valores, separados por dois pontos ':'. - Na primeira chamada para
report_status()
, passe os seguintes pares de valores e palavras-chave:name="luke"
,affiliation="jedi"
estatus="missing"
. - Na segunda chamada para
report_status()
, passe os seguintes pares de valores e palavras-chave:name="anakin"
,affiliation="sith lord"
estatus="deceased"
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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=____)