ComeçarComece gratuitamente

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

Ver Curso

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" e status="missing".
  • Na segunda chamada para report_status(), passe os seguintes pares de valores e palavras-chave: name="anakin", affiliation="sith lord" e status="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=____)
Editar e executar código