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 :

debug connaitre variables self.


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut debug connaitre variables self.
    Bonjour,
    Je debug mon appli python (avec pdb.py). A un endroit précis, je voudrais connaitre à quelles variables j'ai accès : c'est à dire connaitre toutes les variables définies dans ma classe courante : tous les self.
    Est ce possible ? Si oui comment ?
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Salut,
    Les répertoires des variables globales et locales sont toujours locals() et globals() mais je n'ai peut être pas bien compris la question.
    Exemple:
    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
    >>> class A:
    ...    def foo(self, x):
    ...        for i in range(x): print (i)
    ...
    >>> pdb.run('A().foo(2)')
    (Pdb) step
    --Call--
    > <stdin>(2)foo()
    (Pdb) print locals()
    {'x': 2, 'self': <__main__.A object at 0x02788E50>}
    (Pdb) print globals()
    {'A': <class '__main__.A'>, '__builtins__': <module 'builtins' (built-in)>, 'pdb
    ': <module 'pdb' from 'C:\py_env\py3.2-32\lib\pdb.py'>, '__package__': None, '__
    name__': '__main__', 'foo': <function foo at 0x0266E198>, '__doc__': None}
    (Pdb) print self
    <__main__.A object at 0x0258B790>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    Si c'est exactement ça. Par contre dés qu'on a des grandes listes ou dictionnaires, ça devient illisible

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Citation Envoyé par awalter1 Voir le message
    Si c'est exactement ça. Par contre dés qu'on a des grandes listes ou dictionnaires, ça devient illisible
    Rien ne vous empêche de faire l'"import" d'un module de fonctions de formatage. Sinon il y a déjà le module pprint et/ou la possibilité de surcharger __repr__ et/ou __str__.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    Merci, je vais regarder ...

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

Discussions similaires

  1. Utilisation de la variable self dans les méthodes
    Par sliderman dans le forum Général Python
    Réponses: 2
    Dernier message: 19/11/2007, 01h20
  2. Réponses: 2
    Dernier message: 02/11/2007, 17h44
  3. [Reflection] Connaître le nom d'une variable ...
    Par dahwoud dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 09/08/2005, 14h37
  4. -debug > variable globale
    Par ggnore dans le forum C
    Réponses: 7
    Dernier message: 29/09/2004, 09h28
  5. Réponses: 2
    Dernier message: 23/03/2004, 11h24

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