Maison  >  Article  >  développement back-end  >  Comment appeler cette fonction via la chaîne du nom de la fonction en python

Comment appeler cette fonction via la chaîne du nom de la fonction en python

silencement
silencementoriginal
2019-05-25 13:50:255761parcourir

Comment appeler cette fonction via la chaîne du nom de la fonction en python

Parcourt les fonctions dans la liste d'exécution, mais le nom de la fonction obtenu à partir de la liste est une chaîne, donc une erreur de type sera demandée et l'objet chaîne ne peut pas être appelé. Et si nous voulons que la chaîne devienne un objet appelable ? Ou souhaitez-vous appeler les attributs de module et les attributs de classe via des variables ? Il existe trois façons d'atteindre

1. eval()

Comment appeler cette fonction via la chaîne du nom de la fonction en python

eval() est généralement utilisé pour exécuter une expression de chaîne et renvoyer la valeur de l'expression. Ici, il convertit la chaîne en fonction correspondante. eval() est puissant mais dangereux (eval est mauvais) et n'est pas recommandé.

2. locaux() et globals()

Comment appeler cette fonction via la chaîne du nom de la fonction en python

locals() et globals() sont deux fonctions intégrées de python, grâce auxquelles vous pouvez accéder aux variables locales et globales dans un dictionnaire.

3. getattr()

getattr() est une fonction intégrée de python, getattr(object,name) est équivalent à object.name, mais ici, name peut être une variable.

Renvoie la méthode bar du module foo

Comment appeler cette fonction via la chaîne du nom de la fonction en python

Renvoie les propriétés de la classe Foo

Comment appeler cette fonction via la chaîne du nom de la fonction en python

La fonction methodcaller sous l'opérateur de bibliothèque standard

Comment appeler cette fonction via la chaîne du nom de la fonction en 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!

Déclaration:
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
Article précédent:Comment sortir sur stderrArticle suivant:Comment sortir sur stderr