Nested Functions
Lección 2 de 12 del curso Decoradores de Python de Coddy.
Antes de sumergirnos en los decoradores, necesitamos entender algunos conceptos importantes relacionados con las funciones de Python.
En Python, podemos incluir una función dentro de otra, lo que también se conoce como una función anidada.
Por ejemplo,
def outer_function():
print("This is the outer function.")
def inner_function():
print("This is the inner function.")
inner_function()
En este ejemplo, outer_function contiene una función anidada llamada inner_function.
Cuando se llama a outer_function, primero imprimirá "This is the outer function." y luego llamará a inner_function. inner_function imprimirá entonces "This is the inner function."
Ten en cuenta que inner_function solo puede ser llamada desde dentro de outer_function.
Si intentas llamar a inner_function fuera de outer_function, obtendrás un NameError indicando que inner_function no está definida.
Desafío
FácilEscribe una función llamada greeting_generator que tome un nombre como argumento y devuelva un mensaje de saludo que incluya el nombre.
El mensaje de saludo debe ser generado por una función anidada llamada get_greeting, la cual toma el nombre como argumento y devuelve una cadena que dice "Hello, [name]!".
Aquí tienes un ejemplo de cómo debería funcionar la función:
>>> greeting = greeting_generator("Alice")
>>> greeting
"Hello, Alice!"
>>> greeting = greeting_generator("Bob")
>>> greeting
"Hello, Bob!"
Restricciones
- Debes usar una función anidada llamada
get_greetingpara generar el mensaje de saludo. - El mensaje de saludo debe incluir el nombre pasado a
greeting_generator.
Pruébalo tú mismo
Todas las lecciones de Decoradores de Python
Practica por tu cuenta: Compilador de Python online