En python, vous pouvez appeler des fonctions basées sur des chaînes :
1 Utilisez getattr pour appeler des fonctions à partir de chaînes
. Dans plusieurs processus, une chaîne peut être passée, alors comment appeler une fonction existante ? La fonction principale consiste à utiliser la fonction getattr. Cette fonction utilise une chaîne pour obtenir la fonction correspondant à la chaîne. L'objet peut ensuite être exécuté comme. suit :
Dans le module, il y a deux fonctions :
[root@python 530]# cat attr.py #!/usr/bin/env python def kel(): print 'this is a kel function' def smile(): print 'this is a smile function' if __name__ == '__main__': kel() smile()
Dans le module attr ci-dessus, deux fonctions sont définie, une fonction est kel et l'autre fonction est smile. Alors, comment exécuter la fonction basée sur les chaînes kel et smile ? J'utilise la fonction getattr, comme indiqué ci-dessous :
>>> import attr >>> k = getattr(attr,'kel') >>> k() this is a kel function >>> s = getattr(attr,'smile') >>> s() this is a smile function >>> e = getattr(attr,'errors') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'errors'
Dans le premier, importez le module directement, puis le module est un objet, donc le kel() dans attr est obtenu selon la chaîne kel dans getattr La fonction est finalement exécutée, et elle est implémentée ici Selon les différentes chaînes, la fonction correspondante est exécutée.
2. Utiliser un dictionnaire pour appeler des fonctions
La définition du module ci-dessus reste inchangée, mais lors de l'appel, vous pouvez définir un dictionnaire , La fonction est exécutée en fonction de la valeur du dictionnaire, comme suit :
>>> import attr >>> d = {'kel':attr.kel,'smile':attr.smile} >>> d['kel']() this is a kel function >>> d['smile']() this is a smile function
Pour que la valeur du dictionnaire puisse être utilisée pour appeler la fonction.
Les deux méthodes ci-dessus sont principalement utilisées pour savoir comment appeler d'autres fonctions lorsqu'une chaîne est passée. Ensuite, la première méthode consiste à utiliser getattr pour exécuter la fonction, la deuxième méthode consiste à pré-définir simplement un dictionnaire. puis exécutez les valeurs du dictionnaire.
La méthode d'implémentation ci-dessus pour appeler des fonctions basées sur des chaînes en python est tout le contenu partagé par l'éditeur. J'espère qu'elle pourra vous donner une référence, et j'espère que vous soutiendrez le site Web PHP chinois.
Pour plus d'articles liés à l'implémentation de fonctions d'appel basées sur des chaînes en python, veuillez faire attention au site Web PHP chinois !