Python est un langage de programmation interprété , ce qui permet d'optimiser la conception en temps via l'utilisation de fonctions dynamiques. Les fonctions dynamiques permettent parties du code pour générer des fonctions et ensuite les appeler pendant l'exécution . Lorsque mis en œuvre correctement , les fonctions dynamiques améliorer la lisibilité du code , de réduire la longueur de l'exécutable et peuvent même conduire à des améliorations de temps et de mémoire lors de l'exécution du programme. Histoire
Python et d'autres langages de programmation traditionnellement mise en œuvre du code statique. Dans ce mode de programmation , un programmeur écrit le code qui est exécuté par les utilisateurs , mais le code ne peut pas se modifie pas et de s'adapter à l'entrée d'utilisateur ou changeants événements du système. Un nouveau type de capacité de codage , appelé méthodes dynamiques ou code auto-modifiant permet au programme lui-même de modifier réellement sa propre logique. Les fonctions dynamiques en Python sont un exemple de modification non persistant , c'est- programmeur développe un cadre d' ensemble qui persiste de manière statique dans le code source , et plus tard , les appels vers le cadre de fonction dynamique ne modifie temporairement l'exécution du code < br . >
mise en œuvre
Python met en œuvre des fonctions dynamiques en utilisant le mot-clé «lambda» suivie par la logique de la fonction de définir le cadre et la " carte " mot-clé pour créer la fonction dynamique plus tard dans l' code. La combinaison de ces mots-clés des résultats du contrôle de l'exécution sur lequel les fonctions sont exécutées et compilées dans la mémoire. Sur le back-end, le mot-clé " lambda " alloue un cadre en mémoire. Lorsqu'un mot-clé «carte» s'exécute, le code remplit dans le cadre des valeurs indiquées , et attribue une fonction anonyme dans la mémoire avec l'entrée donnée.
Optimization
Les fonctions dynamiques
en Python offrent des améliorations considérables de la mémoire plus des fonctions statiques . Les définitions de fonctions (moins le cadre statique de la fonction ) peuvent être stockées dans un fichier ou variable, ou même être transmis sur le réseau plutôt que le code, l'amélioration de la flexibilité. Quand une fonction dynamique n'est plus nécessaire par le programme , le programmeur peut désallouer la mémoire utilisée par la fonction , libérant ainsi de précieuses ressources système qui , autrement, auraient été amassés par le programme.
Complications < br > Photos
détracteurs de méthodes dynamiques et le code auto-modifiant expriment souvent leur préoccupation au sujet de la lisibilité du code , la perte d'efficacité et des résultats imprévisibles. Un petit sous-ensemble de situations existent où les fonctions dynamiques sont approprié - à savoir la mise en œuvre des fonctions multiples avec une logique similaire qui peut être facilement distrait et sérialisé. Mise en œuvre incorrecte entraîne souvent dans le code désordonné , ce qui semble plus complexe que si le programmeur a utilisé des fonctions statiques . Les développeurs doivent tenir compte de l'applicabilité , les gains potentiels de la mémoire ou des pertes , et la complexité du code avant la mise en œuvre des fonctions dynamiques .