En este tema tengo varias dudas: <ol> <li>Cual es el objetivo de usar funciones anidadas? En que tipo de casos puede ser utilizada? Tener...

Pregunta de la clase:
Closures
oscar lopez

oscar lopez

Pregunta
student
hace 4 años

En este tema tengo varias dudas:

  1. Cual es el objetivo de usar funciones anidadas? En que tipo de casos puede ser utilizada? Tener funciones anidadas permite que sea mas rapida la ejecicion de una aplicacion?
  2. Puede tener una funcion mas de una funcion anidada?
  3. Puedo invocar desde otra funcion una funcion que contiene nested function?
2 respuestas
para escribir tu comentario
    Ricardo Félix Díaz López

    Ricardo Félix Díaz López

    student
    hace 3 años

    Creo que en uno de los casos en donde te pueden servir las funciones anidadas, seria cuando utilizas decoradores. por ejemplo tu tienes una función que sabe sumar dos números, esta función al mismo tiempo forma parte del comportamiento sumar números de la clase usuario y clase la desarrollo, posteriormente decides que quieres aplicar polimorfismo al comportamiento sumar números de la clase usuario . específicamente quieres que aparezca una leyenda de "solo suma numeros enteros de no mas de dos digitos", una solución puede ser usar decorar la función y esto a su ves de usar closure.

    Para hacer un programa mas velos me parece que puedes usar la big o notation, por ejemplo una función en donde tiene un ciclo dentro de otro ciclo, la forma de hacer este tipo de funciones mas veloces seria rescribir la función para que en lugar de usar ciclos use recursividad.

    Augusto Borromeo

    Augusto Borromeo

    student
    hace 4 años

    Buenas! mmm No se me ocurre ahora una utilidad contundente para responder la 1. Pero con respecto a las últimas 2 si se pueden tener más funciones anidadas ya que no dejan de ser bloques de código que se abren y se cierran, y si podes invocar desde otra función la función con nested function. Lo que no se puede hacer es invocar desde otra función la nested function, ya que esta última esta definida dentro de una función y no en el programa principal.

Curso Profesional de Python

Curso Profesional de Python

Culmina tu aprendizaje sobre este vasto lenguaje de programación. Domina los conceptos que te llevarán a las condiciones necesarias para iniciar tu camino en la carrera de la industria tecnológica que prefieras: Backend, Ciencia de Datos, Inteligencia Artificial.

Curso Profesional de Python

Curso Profesional de Python

Culmina tu aprendizaje sobre este vasto lenguaje de programación. Domina los conceptos que te llevarán a las condiciones necesarias para iniciar tu camino en la carrera de la industria tecnológica que prefieras: Backend, Ciencia de Datos, Inteligencia Artificial.