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ération d'une variable appartenant à une classe


Sujet :

Python

  1. #1
    Membre habitué
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 142
    Points
    142
    Par défaut Récupération d'une variable appartenant à une classe
    Bonjour je suis débutant dans la programmation Python , voici ma question :

    J'aimerais récupérer une variable appartenant à une fonction d'une classe (je sais qu'on appel pas ça une fonction quand ça appartient à une classe mais je ne me souviens plus du nom ^^) Bref cette fonction me donne une variable que j'aimerais récupérer plus tard dans mon programme , voici un "algorythme" résumant ma situation :

    Class ()
    Fonction()
    Resultat : Variable


    print Variable? (comment l'obtenir)




    Merci

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    donc tu veux dire que le méthode de ta classe "renvoie" une valeur? ou bien que tu veux récupérer la valeur d'une variable de ta classe?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Test:
        def __init__(self):
            self.value='ma valeur'
     
        def retourValue(self):
     
            ... #traitement
            return self.value
    c'est un exemple...

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 052
    Points : 1 383
    Points
    1 383
    Par défaut
    ça s'apelle une methode et j'ai pas comprite ...

  4. #4
    Membre habitué
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 142
    Points
    142
    Par défaut
    airod je veux récupérer la valeur de ma variable défini par ma méthode (merci josmiley) qui appartient elle même à une classe :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Test:
        def __init__(self):
            self.value='ma valeur'
     
        def retourValue(self):
     
            ... #traitement
            variable= self.value,'okok'
            print variable
     
    Maintenant j'aimerais récupérer le résultat de la méthode retourValue plus tard dans mon programme (en dehors de cette classe) Mais je ne sais pas comment faire  : 
     
    Test.retourValue() ?

    Merci

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 052
    Points : 1 383
    Points
    1 383
    Par défaut
    ben, suffit d'apeller la methode ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>>toto=Test()
    >>>toto.retourValue()
    'ma valeur','okok'

  6. #6
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    bonsoir, bon il y a deux solution a ta question!

    soit ta classe est une sorte de conteneur stockant uniquement des constante (j'vois pas l'intéret) et ca donnerait ca!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class test:
        def __init__(self):
            self.value='kljdglkd'
        def returnV(self):
            return self.value+' lkmlk'
     
    print test().returnV()
    ici, la methode returnV de test est appellé a l'intanciation de test et n'est pas conservé dans une variable....
    aucun intéret, puisque non utilisable par la suite.
    maintenant si tu fait ca, parce que returnV doit faire autre chose et que self.value peut changer de valeur, ca donnerait plutot ca!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class test:
        def __init__(self):
            self.value='mon'
        def returnV(self):
            return self.value+' tonton'
    a=test()
    print a.returnV()
    >> mon tonton
    a.value='ton'
    print a.returnV()
    >> ton tonton
    dans ce cas, l'instance de test() est conservée en mémoire dans la variable a.
    ensuite charge a toi de faire vivre ton instance d'objet comme tu le veux dans ton programme.
    une lecture du tuto de G.Swinnen t'aidera a comprendre les concept objet en python.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 052
    Points : 1 383
    Points
    1 383
    Par défaut
    de toutes façon c'est chelou comme question; ou alors j'a pas comprite ....
    je relis:
    'J'aimerais récupérer une variable appartenant à une méthode...'
    déjà c'est pas possible; c'est soit un attribut d'objet, soit une variable de classe eventuellement modifiée par une méthode.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class MaClass:
        MaData = None
     
       def __init__(self):
            MaClass.MaData = "cette classe vient d'etre instanciee"
            print MaClass.MaData
     
        def modify(self):
            MaClass.MaData = "cette classe vient d'etre modifiee"
            print MaClass.MaData
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>>toto=MaClass()
    "cette classe vient d'etre instanciee"
    >>>toto.modify()
    "cette classe vient d'etre modifiee"

Discussions similaires

  1. Recupérer une variable appartenant à une autre "class"
    Par Super_babar dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 15/07/2008, 14h26
  2. Garder une référence vers une variable d'une autre classe
    Par choupeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/12/2007, 18h30
  3. Appliquer une methode a une variable d une classe ?
    Par Slumpy dans le forum VB.NET
    Réponses: 18
    Dernier message: 07/06/2007, 17h17
  4. Réponses: 6
    Dernier message: 31/05/2007, 18h10
  5. Réponses: 6
    Dernier message: 20/04/2007, 15h24

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