Maison > développement back-end > Tutoriel Python > Comment stocker et exécuter des fonctions en Python à l'aide de dictionnaires et de listes ?

Comment stocker et exécuter des fonctions en Python à l'aide de dictionnaires et de listes ?

Barbara Streisand
Libérer: 2024-10-31 22:40:28
original
390 Les gens l'ont consulté

How can you store and execute functions in Python using dictionaries and lists?

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

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