Argumentos predeterminados de Python

PythonBeginner
Practicar Ahora

Introducción

Imagina las arenas de la antigua Egipto, las pirámides que se elevan majestuosas sobre el horizonte, proyectando largas sombras sobre un paisaje envuelto en misterio y historia. En este laboratorio, nos aventuramos dentro de una cámara recientemente desenterrada dentro de la Gran Pirámide de Kufu. Los jeroglíficos en las paredes de la cámara cuentan la historia de un dios perdido cuyo poder se restaurará una vez que se invoque a su avatar con la incantación correcta. Se dice que este dios tenía el poder de conceder sabiduría y conocimiento, particularmente en el arte arcano de la programación en Python.

Nuestro objetivo es decodificar la incantación necesaria para invocar al avatar de este dios resolviendo acertijos de Python dispuestos en la cámara. Para hacer esto, debemos dominar el uso de los argumentos predeterminados en las funciones de Python, un concepto tan eterno como las mismas pirámides.

Crea una función con argumentos predeterminados

En este paso, crearemos una función que nos ayudará a desbloquear el primer sello de la cámara del dios. Las funciones de Python pueden tener argumentos predeterminados, que se utilizan si no se proporciona un valor específico cuando se llama a la función. Vamos a practicar esto creando una función que genere un hechizo antiguo con niveles de poder predeterminados.

Ahora, abre ~/project/incantation.py con tu editor de texto favorito y define una función llamada cast_spell que acepta dos parámetros: spell (una cadena) y power_level (un entero con un valor predeterminado de 5).

Código de ejemplo en incantation.py:

def cast_spell(spell, power_level=5):
    return f"Invocando {spell} con un nivel de poder de {power_level}!"

## Prueba la función llamándola con y sin especificar el power_level
print(cast_spell('Heka'))
print(cast_spell('Seshat', power_level=9))

Ejecuta tu código para ver los hechizos siendo invocados.

python3 incantation.py

Salida esperada:

Invocando Heka con un nivel de poder de 5!
Invocando Seshat con un nivel de poder de 9!

Manejar múltiples argumentos predeterminados

A continuación, trabajaremos con una función que toma múltiples argumentos predeterminados para desentrañar el segundo sello. Crearemos una función que describa las ofrendas que se deben hacer al dios.

Aún dentro del directorio ~/project, agrega una nueva función a nuestro archivo incantation.py llamada make_offering, que tomará tres parámetros: food (con un valor predeterminado de "grano"), incense (con un valor predeterminado de "incienso") y gemstone (con un valor predeterminado de "lapis lazuli").

Código de ejemplo en incantation.py:

def make_offering(food="grain", incense="frankincense", gemstone="lapis lazuli"):
    return f"Ofreciendo {food}, {incense}, y {gemstone} para complacer a los dioses."

## Prueba la función con argumentos predeterminados y personalizados
print(make_offering())
print(make_offering(food="fechas", gemstone="turquesa"))

Ejecuta el archivo actualizado:

python3 incantation.py

Salida esperada:

Ofreciendo grano, incienso, y lapis lazuli para complacer a los dioses.
Ofreciendo fechas, incienso, y turquesa para complacer a los dioses.

Resumen

En este laboratorio, exploramos el poder de los argumentos predeterminados de Python a través de la aventura de una pirámide egipcia antigua. No solo aprendiste a definir funciones con parámetros predeterminados y personalizarlas según sea necesario, sino que también desataste la magia de un dios egipcio al combinar la sintaxis de Python con el encanto de la egipciología.

Al completar estas tareas, has adquirido una habilidad valiosa que te servirá de maravilla en la escritura de código de Python flexible y reutilizable. Ahora que has dominado los argumentos predeterminados, estás listo para descubrir más secretos en el mundo de Python, el lenguaje que es tan enigmático como las pirámides, pero tan accesible como el desierto abierto bajo el cielo claro y iluminado por la luna.