Python es un lenguaje de programación interpretado , que proporciona optimización en tiempo de diseño a través de la utilización de las funciones dinámicas . Funciones dinámicas permiten que partes de código para generar funciones y, posteriormente, los llaman en tiempo de ejecución . Cuando se implementa correctamente, funciones dinámicas mejoran la legibilidad del código , acortar la longitud ejecutable e incluso puede dar lugar a mejoras en el tiempo y la memoria durante la ejecución del programa. Historia
Python y otros lenguajes de programación tradicionales implementar código estático . En este método de programación , un programador escribe el código que se ejecuta por los usuarios, pero el código no es y no puede modificarse a sí mismo para adaptarse a la entrada del usuario o el cambio de los eventos del sistema . Un nuevo tipo de capacidad de codificación , denominado métodos dinámicos o código auto-modificable permite que el programa en sí mismo para alterar en realidad su propia lógica . Funciones dinámicas en Python son un ejemplo de modificación no persistente , es decir, un programador desarrolla un marco conjunto que persiste estáticamente en el código fuente , y más tarde , las llamadas a la función de marco dinámico sólo alterar temporalmente la ejecución del código < br . >
Implementación
Python implementa funciones dinámicas mediante la palabra clave " lambda ", seguido de la lógica de la función de definir el marco y la palabra "mapa" para crear la función dinámica más adelante en el código . La combinación de estas palabras clave como resultado un control en tiempo de ejecución a través de las funciones que se ejecutan y compilado en la memoria. En el fondo, la palabra clave " lambda " asigna un marco en la memoria. Cuando se ejecuta una palabra clave "mapa" , el código se llena en el marco de los valores dados , y asigna una función anónima en la memoria a las cifras mencionadas .
Optimization
funciones dinámicas en Python ofrecen mejoras de memoria tremendas más funciones estáticas . Las definiciones de funciones ( menos el marco estático para la función ) se pueden almacenar en un archivo o variable , o incluso ser transmitidos sobre la red en lugar del código , la mejora de la flexibilidad . Cuando una función dinámica ya no es necesario por el programa, el programador puede unallocate la memoria utilizada por la función , lo que libera valiosos recursos del sistema que de otra manera se han acumulado por el programa.
Complicaciones < br >
Los críticos de los métodos dinámicos y código auto-modificable suelen plantear preocupaciones sobre la legibilidad del código , la pérdida de eficiencia y resultados impredecibles . Un pequeño subconjunto de situaciones en las cuales las funciones dinámicas son apropiados - es decir, en la aplicación de múltiples funciones con la misma lógica que puede ser fácilmente extraída y serializar. Aplicación incorrecta a menudo resulta en código desordenado , que se parece más complejo que si el programador ha utilizado funciones estáticas . Los desarrolladores deben tener en cuenta la aplicabilidad posibles beneficios o pérdidas de memoria , y la complejidad de código antes de la implementación de funciones dinámicas.