Stockage et déclenchement de fonctions en Python
Pour éviter les instructions def lourdes et faciliter la gestion de plusieurs fonctions, nous explorons une méthode pour stocker les fonctions dans des structures de données, permettant leur exécution lorsqu'elles sont indexées ou saisies.
Utilisation d'un dictionnaire pour la répartition des fonctions
Les fonctions sont des objets de première classe en Python, permettant de les stocker et distribué à l'aide de dictionnaires. Prenons l'exemple suivant :
<code class="python">dispatcher = {'foo': foo, 'bar': bar}</code>
Dans ce dictionnaire, foo et bar sont des objets fonction, et non des instances appelables (par exemple, foo() ou bar()). Pour invoquer foo, utilisez :
<code class="python">dispatcher['foo']()</code>
Stockage de plusieurs fonctions dans une liste
Si vous souhaitez exécuter plusieurs fonctions regroupées dans une liste, une approche possible est :
<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'])</code>
Dans ce cas, la clé 'foobar' correspond à une liste de fonctions. La fonction fire_all parcourt la liste et exécute chaque fonction.
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!