Argumentos posicionales y de palabra clave

Al llamar a funciones proporcionamos valores para los argumentos para que la función se ejecute utilizando esos valores. Es posible proporcionar esos valores con argumentos tanto posicionales como de palabra clave:
def rectangle(h, w, val=0):
    return [[val] * w] * h

print(rectangle(2, 3, 1))
# [[1, 1, 1], [1, 1, 1]]
def rectangle(h, w, val=0):
    return [[val] * w] * h

print(rectangle(2, w=3, val=1))
# [[1, 1, 1], [1, 1, 1]]
Podemos proporcionar valores para los argumentos especificando los nombres de esos argumentos como hicimos en el segundo ejemplo (val=1 o w=3).
Esto es especialmente útil para funciones que tienen muchos argumentos y la mayoría de ellos tienen valores predeterminados. En ese caso, podemos proporcionar los argumentos de palabra clave solo para los parámetros que necesitamos y omitir el resto.
Ten en cuenta que los argumentos de palabra clave no necesitan proporcionarse en el mismo orden que los argumentos de la función. Pueden tener un orden arbitrario siempre que sus nombres coincidan con los argumentos de la función. También es importante notar que los argumentos posicionales no pueden ir después de los argumentos de palabra clave. Al llamar a una función, primero especificamos los argumentos posicionales y luego los argumentos de palabra clave. ¿Puedes pensar por qué es así 🤔?

Desafío

Dada la función que imprime las propiedades de un paciente, llámala 3 veces con el siguiente orden de argumentos:
  1. name, age, height
  1. age, name, height
  1. height, age, name
Las salidas de cada llamada deben ser las mismas, pero puedes usar tanto argumentos posicionales como de palabra clave para llamar a la función.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue