python : variable globale dans des class
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

python : variable globale dans des class



  1. #1
    docEmmettBrown

    python : variable globale dans des class


    ------

    bonjour à tous

    voila je suis en train de voir les class, mais je suis confronté a un probleme. Je veux a tout pris que dans ma class Coco j'ai une variable globale qui peut etre lu dans n'importe quelle classe
    Code:
    class Coco:
        sous = 0
        def __init__(self, nom, compte):
            self.nom= nom
            self.compte= compte
    
        def addMoney(self,montant):
            self.compte += montant
            print(("{0} a sur son compte {1} euros").format(self.nom,self.compte))
            if montant > 1000 :
            	sous = 1
    
    class Riche:
        
        def __init__(self):
            self.uu=0
            
        def warning(self):
            if sous == 0 :
                print("no")
            else :
                print("yes")
    
                
    client_01 = Coco("Marc",10)
    client_01.addMoney(5000)
    
    client_02 = Coco("laura",50)
    client_02.addMoney(150)
    
    t=Riche()
    t.warning()
    marc qui a plus de 1000 euros devrait techniquement changer ma variable globale "sous" a 1 mais non mon terminal m'indique que sous is not defines

    est il possible de créer une variable globale et si oui comment ?

    merci d'avance

    -----

  2. #2
    CM63

    Re : python : variable globale dans des class

    Bonjour,

    Pour accéder à une variable de classe, il faut faire, depuis une instance de cette classe:

    client_01.__class__.sous

    A plus

  3. #3
    docEmmettBrown

    Re : python : variable globale dans des class

    le probleme est que la variable "sous" reste tjs a 0 alors qu'elle devrait etre = 1

  4. #4
    fred1599

    Re : python : variable globale dans des class

    Non pas de variables globales, tu as bien pensé, mais la syntaxe correcte est self.sous = 1 pour ton bloc if, et non pour la variable sous Coco

    À remplacer

    Code:
    if sous == 0 :
    par

    Code:
    if Coco.sous == 0:
    Dernière modification par fred1599 ; 25/05/2015 à 21h01.

  5. A voir en vidéo sur Futura
  6. #5
    docEmmettBrown

    Re : python : variable globale dans des class

    ca marche !!
    Un grand merci!

Discussions similaires

  1. language python, retourner plusieurs variable dans une fonction
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 17/04/2015, 13h40
  2. Est ce que l'intrication est globale dans l'univers ?
    Par extrazlove dans le forum Archives
    Réponses: 21
    Dernier message: 29/08/2014, 14h42
  3. PIC18F interuption et variable globale
    Par manuj dans le forum Électronique
    Réponses: 7
    Dernier message: 07/08/2012, 15h04
  4. langage C : problème avec variable globale et scanf
    Par invitedba13d1f dans le forum Logiciel - Software - Open Source
    Réponses: 18
    Dernier message: 21/06/2009, 12h55
  5. matlab variable globale
    Par invitea255964f dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 04/06/2009, 07h37