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 :

classe dans les classes


Sujet :

Python

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut classe dans les classes
    Bonjour,
    Débutant en python j'ai des questions sur les classes.
    J'ai défini une classe qui me permet d'afficher les messages de facon standard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class __print():
            def __init__(self,prg,message,extra="standard"):
                    self.p=prg
                    self.m=message
                    self.e=extra
            def info(p,m):
                    print("%-10s : %-10s : %-30s" % ("INFO",p,m))
            def debug(p,m):
                    if DEBUG != 0 :
                            print("%-10s : %-10s : %-30s" % ("DEBUG",p,m))
    Après je fais :
    __print.info(arg1,arg2) ..
    ou pour le debug
    __print.debug( ...)

    Ca fonctionne bien dans le main et dans les def mais si je defini une autre classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class _vb():
              ......
             def action1():
                    __print.debug(PRGNAME,"Pausing")
              ......
    J'ai cette erreur :
    File "./vb.py", line 165, in guest_pause
    __print.debug(PRGNAME,"Pausing")
    NameError: global name '_vb__print' is not defined

    En fait il semble qu'il ne voit pas ma classe __print.
    De plus pourquoi indique t il _vb__print

    De manière générale je me demande si ma classe __print est bien vue ou il ne faudrait pas plutôt une def.
    Je trouve ca pourtant élégant de pouvoir utiliser __print.level pour indiquer le niveau d'affichage des messages.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Si tu enlèves le double tiret de ta classe, ça ira mieux.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Si tu enlèves le double tiret de ta classe, ça ira mieux.
    Ben oui c est ca !
    Merci beaucoup.
    Par contre c'est pas des tirets mais des underscore.
    Pourquoi donc python rale ???

    Je me demandais aussi quand faire de fonctions ou des classes.

    Est ce que dans le cas présent de faire des affichages une classe est pertinente ?

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

Discussions similaires

  1. les services métiers / les classes métiers / les classes services
    Par titititiangel dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 27/05/2013, 11h01
  2. identifer les classes dans les règles de gestion
    Par sarim dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 19/04/2010, 22h15
  3. [preferences] pouvoir débuguer dans les classes de JAVA
    Par Satch dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 25/01/2006, 13h23
  4. Réponses: 13
    Dernier message: 18/01/2006, 12h51
  5. Réponses: 2
    Dernier message: 17/06/2005, 23h03

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