/ / (Python) Puis-je stocker les fonctions elles-mêmes, mais pas leur valeur, dans une liste - python, liste

(Python) Puis-je stocker les fonctions elles-mêmes, mais pas leur valeur, dans une liste - python, liste

Comme vous pouvez le constater à partir du code ci-dessous, j’ajoute une série de fonctions à une liste. Le résultat est que chaque fonction est exécutée et la valeur renvoyée est ajoutée à la liste.

foo_list = []
foo_list.append(bar.func1(100))
foo_list.append(bar.func2([7,7,7,9]))
foo_list.append(bar.func3(r"C:Usersuserdesktopoutput"))

Ce que j'aimerais savoir, c'est s'il est possible de stocker la fonction dans la liste, puis de l'exécuter lorsqu'elle est itérée dans une boucle for.

entrer la description de l'image ici

Réponses:

4 pour la réponse № 1

Oui, utilisez simplement lambda:

foo_list = []
foo_list.append(lambda: bar.func1(100))
foo_list.append(lambda: bar.func2([7,7,7,9]))
foo_list.append(lambda: bar.func3(r"C:Usersuserdesktopoutput"))

for foo in foo_list:
print(foo())