IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Stocker des fonctions dans une liste ou un dico


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut Stocker des fonctions dans une liste ou un dico
    Bonjour,

    Voila j'aimerai pouvoir stocker un protole dans une liste ou une fonction dans lequel je peux stipuler les arguments plus tard.

    Par exemple :

    protocole = [mafonction1,mafontion2,mafonction1]

    ...
    plus tard
    ...

    for i in protocole:
    i(arg1)
    ...

    Je fais ça pour l'instant avec des exec mais je trouve ça assez lourd de construire des lignes de code. Existe-t-il un moyen de stoker les fonctions (sans les executer tout de suite bien sure)


    Merci d'avance,

    Mister

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Ce que tu cherches est très facile avec Python:

    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 test1(x1, y1):
        print "test1 " + x1 + ' ' + y1
     
    def test2(x2, y2):
        print "test2 " + x2 + ' ' + y2
     
    def test3(x3, y3):
        print "test3 " + x3 + ' ' + y3
     
    protocoles = [test1, test2, test3]
     
    for p in protocoles:
        p("toto", "machin")
    Ce qui affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    test1 toto machin
    test2 toto machin
    test3 toto machin
    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup c'est génial ! Ca va me faire gagner de nombreuses lignes de code Merci !!

    Mister

    Citation Envoyé par tyrtamos Voir le message
    Bonjour,

    Ce que tu cherches est très facile avec Python:

    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 test1(x1, y1):
        print "test1 " + x1 + ' ' + y1
     
    def test2(x2, y2):
        print "test2 " + x2 + ' ' + y2
     
    def test3(x3, y3):
        print "test3 " + x3 + ' ' + y3
     
    protocoles = [test1, test2, test3]
     
    for p in protocoles:
        p("toto", "machin")
    Ce qui affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    test1 toto machin
    test2 toto machin
    test3 toto machin
    Tyrtamos

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/01/2011, 09h34
  2. Comment stocker des threads dans une liste?
    Par Zoners dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 21/04/2010, 11h21
  3. [Lisp] Suppression des parenthèses dans une liste
    Par bourdaillet dans le forum Lisp
    Réponses: 3
    Dernier message: 19/12/2004, 21h02
  4. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo