ComenzarEmpieza gratis

Funciones con argumentos de palabra clave de longitud variable (\*\*kwargs)

Vamos a profundizar en lo que has aprendido sobre argumentos flexibles: has utilizado *args, ¡ahora vas a utilizar **kwargs! Lo que hace diferente a **kwargs es que te permite pasar un número variable de argumentos de palabra clave a las funciones. Recuerda del vídeo anterior que, dentro de la definición de la función, kwargs es un diccionario.

Para comprender mejor esta idea, en este ejercicio vas a utilizar **kwargs para definir una función que acepte un número variable de argumentos de palabra clave. La función simula un sencillo sistema de informe de estado que imprime el estado de un personaje de una película.

Este ejercicio forma parte del curso

Introducción a las funciones en Python

Ver curso

Instrucciones de ejercicio

  • Completa el encabezado de la función con el nombre de la función report_status. Acepta un único argumento flexible **kwargs.
  • Recorre los pares clave-valor de kwargs para imprimir las claves y los valores, separados por dos puntos ':'.
  • En la primera llamada a report_status(), pasa los siguientes pares de palabra clave-valor: name="luke", affiliation="jedi" y status="missing".
  • En la segunda llamada a report_status(), pasa los siguientes pares de palabra clave-valor: name="anakin", affiliation="sith lord" y status="deceased".

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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 y ejecutar código