Funciones Anidadas
Desliza para mostrar el menú
Cuando se desea organizar el código para mejorar la legibilidad, la encapsulación o la reutilización, se puede definir una función dentro de otra función. Estas se denominan funciones anidadas. En Python, se crea una función anidada escribiendo una definición de función dentro del cuerpo de otra. Esto permite ocultar lógica auxiliar que no debe ser accesible desde fuera o generar funciones especializadas de forma dinámica.
La sintaxis para una función anidada es sencilla: basta con colocar una declaración def dentro del cuerpo de otra def. La función interna puede acceder a las variables de la función envolvente, lo cual es útil para crear comportamientos personalizados o cálculos auxiliares que dependen de los argumentos de la función externa.
Un uso práctico de las funciones anidadas es devolver una función personalizada con parámetros de la función externa. Esto se utiliza a menudo en la programación funcional para generar funciones especializadas o para encapsular lógica que no debe contaminar el ámbito global.
1234567891011def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
1. ¿Por qué podrías definir una función dentro de otra función?
2. ¿Cuál es el alcance de una variable definida en una función envolvente?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla