Bonjour,

J'ai placé plusieurs fonction dans une liste que j'exécute dans l'ordre par la suite. Cependant pour le moment il ne m'est pas possible de rajouter des paramètre en entrée des fonctions.

j'ai pour l'instant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
def coucou():
   print "coucou"
 
def hello():
   print "hello"
 
#ma liste de fonctions:
list_fonction = [coucou, hello]
 
# j'exécute ailleurs
if __name__ == '__main__':
   for fct in list_fonction:
         fct()
Bien sur ce n'est qu'un exemple, je ne poste pas ici mon code entier.
Je vous passerais l'intérêt d'une telle méthode, dans cette exemple il est clair que ce n'est pas très intéressant de faire ceci.

J'aimerais donc pouvoir passer dans ma liste des paramètres, j'ai pensé a essayer:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
def afficher(x, y):
    print "je suis en {0}/{1}".format(x,y)
 
list_fonction = [coucou(), hello(), afficher(4,5)]
# mais il m’exécute automatique toutes les fonctions au démarrage.(très embétant ca)
list_fonction = [(coucou,), (hello,), (afficher,4,5)]
#Je passe les paramètres dans un tuple avec la fonction
La dernière possibilité pose de nombreux problèmes ensuite.
Car le nombre de paramètre est variable
Ainsi je ne peux écrire param1, param2 = list_fonction[i]
Et encore moins écrire l'appel de la fonction automatiquement ensuite car je ne connais pas encore les paramètres.

Voilà je sais que python possède des ressources cachées alors je me demandais il n'y a pas un moment simple de rendre se morceau de code fonctionnel et flexible.

Merci d'avance à tous
Jep31