Maison >développement back-end >Tutoriel Python >Comment puis-je appeler dynamiquement une fonction Python en utilisant son nom comme chaîne ?
Appel de fonctions via un nom de chaîne
Imaginez que vous ayez un scénario dans lequel vous devez appeler dynamiquement une fonction en utilisant son nom stocké dans une chaîne. Cela peut se produire dans des scénarios impliquant des environnements hautement dynamiques ou une métaprogrammation. Voici comment aborder cela en Python :
La technique clé réside dans la fonction getattr de Python. Il vous permet de récupérer un attribut ou une méthode d'un objet en fonction de son nom sous forme de chaîne. Pour appeler dynamiquement une fonction d'un module :
import foo func_name = "bar" bar = getattr(foo, func_name) result = bar()
Dans cet exemple, nous supposons un module foo avec une barre de fonctions. getattr(foo, 'bar') récupère la référence de la fonction bar. L'appel de result = bar() exécute la fonction, ce qui entraîne le stockage de sa sortie dans result.
Notamment, getattr peut être utilisé non seulement pour les fonctions au niveau du module, mais également pour les instances de classe, les méthodes de classe, etc. Sa polyvalence en fait un outil indispensable pour naviguer dans les fonctionnalités dynamiques de Python.
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!