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 les noms des classes parents [Fait]


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 63
    Points
    63
    Par défaut Récupérer les noms des classes parents
    Salut,

    Voilà mon problème.
    Je parse des fichiers python.
    Je dois notamment m'arranger pour récupérer le prototype de la méthode __init__ de chaque classe.

    Le problème est que lorsque je n'ai pas de méthode __init__, celle ci peut être définie par héritage.

    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
     
    class A :
        def __init__(self,toto=""):
            self.titi = toto
            self.x=48
     
    class B(A) :
        def __init__(self,titi=""):
            self.titi=titi
            self.x=48
     
    class C(A) :
        def getTiti(self):
            return titi
    quand je parse mon fichier python, je suis capable de dire que A et B ont un __init__ definit, mais par contre, comment est ce que je peux trouver que C hérite de A ?
    Y a t il une fonction ou méthode prévue pour ca ?

    Si je sais que C hérite de A et que je connais le protoype du __init__ de A, c'est gagné, malheureusement, il me manque la première partie...

    Je sais pas si c'était très clair...

    Merci d'avance

    See++

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    http://python.developpez.com/faq/?pa...#FuncPrototype ?

    =>

    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
    import inspect
     
    class A :
        def __init__(self,toto=""):
            self.titi = toto
            self.x=48
     
    class B(A) :
        def __init__(self,titi=""):
            self.titi=titi
            self.x=48
     
    class C(A) :
        def getTiti(self):
            return titi
     
    print inspect.getargspec(A.__init__)  
    print inspect.getargspec(B.__init__)  
    print inspect.getargspec(C.__init__)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 63
    Points
    63
    Par défaut
    Merci, c'est exactement ce qu'il me fallait.



    See++

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

Discussions similaires

  1. Récupérer les noms des classes de mon projet
    Par abdoutleti dans le forum Général Java
    Réponses: 10
    Dernier message: 10/03/2011, 12h17
  2. [C++] Récupérer les noms des fenêtres.
    Par The Lord of Nesquik dans le forum Windows
    Réponses: 8
    Dernier message: 21/06/2006, 17h47
  3. [PostGreSQL] Récupérer les noms des colonnes
    Par Olivier14 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/02/2006, 18h51
  4. ShellListView : comment récupérer les noms des fichiers?
    Par Lolo1988 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/12/2005, 23h19
  5. Réponses: 2
    Dernier message: 03/02/2005, 13h21

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