0
votes

Appelez de nombreuses fonctions Python à partir d'un module en boucle via une liste de noms de fonction et en leur faisant des variables.

J'ai trois fonctions similaires dans tld_list.py. Je travaille hors du fichier MainBase.py.

J'essaie de créer une chaîne de variable qui appellera la fonction appropriée en bouclant dans la liste de toutes les fonctions. Mon code se lit dans une liste de noms de fonction, iTerates via la liste et exécutant la fonction sur chaque itération. Chaque fonction renvoie 10 informations de sites Web distincts p>

J'ai essayé 2 variantes annotées sous forme d'option A et d'option B ci-dessous p>

    websiteName = currentFunction(x, y)
    print(websiteName[1]
    print(websiteName[2]
    ...
    print(websiteName[10]


4 commentaires

Vous n'avez pas de liste de fonctions, vous avez une liste de chaînes. Pourquoi ne créez-vous pas simplement une liste de fonctions?


À quoi ressemblerait une liste de fonctions? Pouvez-vous fournir la syntaxe et l'exemple?


Les fonctions ne sont que des objets, comme tout autre: [fonction, fonction, fonction c]


Vos commentaires et les exemples ci-dessous ont tout fait de sens quand je les ai essayés. Merci à tous.


3 Réponses :


0
votes

Vous devez éviter ce type de code. Essayez d'utiliser si ou des références à la place. Mais vous pouvez essayer: xxx


0 commentaires

2
votes

Vous pouvez créer un dictionnaire pour fournir un nom à la conversion de fonction: xxx

alors vous pouvez les appeler, par exemple xxx


0 commentaires

2
votes

Vous avez les noms de fonction mais ce que vous voulez vraiment sont les objets de fonction liés à ces noms dans tld_list . Étant donné que les noms de fonction sont des attributs du module, getattr fait le travail. En outre, il semble que l'itération de la liste plutôt que de garder une trace de votre propre TLDiterator suffisait. XXX


0 commentaires