Maison > développement back-end > Tutoriel Python > Comment puis-je stocker et exécuter des fonctions de manière dynamique à l'aide de dictionnaires en Python ?

Comment puis-je stocker et exécuter des fonctions de manière dynamique à l'aide de dictionnaires en Python ?

Susan Sarandon
Libérer: 2024-10-31 11:44:31
original
536 Les gens l'ont consulté

How can I store and execute functions dynamically using dictionaries in Python?

Stockage et exécution de fonctions avec des dictionnaires

En Python, les fonctions sont des objets de première classe, ce qui signifie qu'elles peuvent être stockées dans des structures de données et transmises autour comme variables. Cela ouvre des possibilités d'exécution dynamique de fonctions basées sur des entrées externes.

Une façon de réaliser le stockage et l'exécution des fonctions consiste à utiliser des dictionnaires. Les dictionnaires sont des collections de paires clé-valeur, où les clés peuvent être n'importe quel objet immuable, y compris les noms de fonctions.

Stockage de fonctions dans un dictionnaire

Pour stocker des fonctions dans un dictionnaire , attribuez l'objet fonction lui-même (et non le résultat de l'appel de la fonction) à la clé du dictionnaire. Par exemple :

<code class="python">dispatcher = {'foo': foo, 'bar': bar}</code>
Copier après la connexion

Exécuter des fonctions à partir du dictionnaire

Pour exécuter une fonction stockée dans le dictionnaire, utilisez la touche du dictionnaire pour accéder à l'objet fonction, puis appelez la fonction normalement. Par exemple :

<code class="python">dispatcher['foo']() # Calls the foo function</code>
Copier après la connexion

Stockage et exécution de plusieurs fonctions dans une liste

Si vous souhaitez stocker et exécuter plusieurs fonctions stockées dans une liste, vous pouvez créer un dictionnaire avec des clés qui représentent les scénarios d’exécution souhaités. Ensuite, vous pouvez utiliser une fonction d'assistance pour parcourir la liste de fonctions et exécuter chaque fonction. Par exemple :

<code class="python">dispatcher = {'foobar': [foo, bar], 'bazcat': [baz, cat]}

def fire_all(func_list):
    for f in func_list:
        f()

fire_all(dispatcher['foobar']) # Executes both foo and bar functions</code>
Copier après la connexion

Conclusion

L'utilisation de dictionnaires pour le stockage et l'exécution des fonctions offre une flexibilité et une organisation du code. Il vous permet de sélectionner et d'exécuter dynamiquement des fonctions basées sur des entrées externes, rendant votre code plus efficace et plus maintenable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal