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 :

récupérer résultat d'une méthode


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut récupérer résultat d'une méthode
    Bonjour,
    Lorsque j'utilise la méthode suivante dans un autre scipt, le résultat désiré s'affiche bien à l'écran mais je n'arrive pas à le récupérer. Avec un 'print' de la méthode, je me rertouve aven un 'None' et non avec le résultat afficher par la méthode à l'écran:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234567891011121314
        def put(self, path1, path2, path3, path4, function, comment,  exposant):
     
            self.pathway1 = path1
            self.pathway2 = path2
            self.pathway3 = path3
            self.pathway4 = path4
            self.mode = function
            self.instruction = comment
            self.td = exposant
     
            table = [self.pathway1,self.pathway2,self.pathway3,self.pathway4,self.mode,self.instruction,self.td]
            for chemin in table[0:5]:
                print type(chemin), ', length =',len(chemin), ', name =',chemin
            print type(table[6]), ', value =',table[6]
    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 483
    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 483
    Points : 9 282
    Points
    9 282
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Ta variable table est ici une variable locale à la méthode put(), et disparaît donc à la fin de son exécution.

    Pour récupérer table après la fin d'exécution de put(), il faut que ta variable appartienne à l'instance de classe, ce qui est fait en la préfixant par "self".

    Ce qui donnerait quelque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    def put(self, path1, path2, path3, path4, function, comment,  exposant):
     
            self.pathway1 = path1
            self.pathway2 = path2
            self.pathway3 = path3
            self.pathway4 = path4
            self.mode = function
            self.instruction = comment
            self.td = exposant
     
            self.table = [self.pathway1,self.pathway2,self.pathway3,self.pathway4,self.mode,self.instruction,self.td]
            for chemin in self.table[0:5]:
                print type(chemin), ', length =',len(chemin), ', name =',chemin
            print type(self.table[6]), ', value =',self.table[6]
    Tyrtamos

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    merci pour ton aide Tyrtamos.

    J'ai essayé ta solution mais rien n'y fait, je récupère toujours 'None' dans le script où je lance la fonction put().
    Autre chose : ce n'est pas la table que je veux récupérer mais ce qui ressort des deux print.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Problème résolu.
    Il manquait juste un 'return'!

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

Discussions similaires

  1. Récupérer résultat d'une fenêtre DOS
    Par besly dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 07/11/2008, 14h45
  2. Récupérer résultat d'une requête
    Par nerila dans le forum Bases de données
    Réponses: 10
    Dernier message: 02/03/2007, 12h53
  3. Récupérer résultat d'une rotation
    Par Burckel dans le forum OpenGL
    Réponses: 5
    Dernier message: 14/12/2006, 17h08
  4. [VBA-E] Récupérer résultat d'une requête
    Par ragnarök dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2006, 16h21
  5. Réponses: 5
    Dernier message: 30/06/2005, 10h28

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