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 :

Accéder aux constantes à déclarer pour une méthode de classe


Sujet :

Python

  1. #1
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut Accéder aux constantes à déclarer pour une méthode de classe
    Bonjour, j'ai une classe ayant un code du type suivant (mais auquel je n'ai pas accès, ou bien que je ne veux pas lire moi même) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class tropClasse():
        def __init__(self, var = '', para = None, autre = ''):
            ...
    J'aurais voulu récupérer var, para, et autre avec si possible leurs valeurs par défaut.

    Est-ce possible ?

    Toute info. est la bienvenue.

  2. #2
    Expert confirmé
    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 : 44
    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

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Merci. Cela fonctionne mais ne résout pas mon problème. Tant pis.

  4. #4
    Expert confirmé
    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 : 44
    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
    Par défaut
    Si cela ne résoud pas ton problème, c'est que tu l'as mal exposé alors.

  5. #5
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Non c'est juste qu'avec ta réponse je me suis rendu compte que la classe que je veux surclasser vient en fait d'un code en C++ via SIP et non d'un code en pur Python, du coup je suis bien embêté, d'autant plus que la documentation de cette classe est très mal faite de mon point de vue. Je vais devoir ruser un peu.

  6. #6
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    pour récupérer les nom des paramètres (par contre leur valeur... je crois j'avais réussi je sais plus comment, plus j'essayes de retrouver, plus je me demande si j'y suis jamais arriver...), enfin, ce que je vais te montrer marche pour du code pur python, pour ce qui vient du C++ je sais pas... heu analyser les sources ... ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    >>> class A(object):
    	def __init__(self,uno=1,dos=2):
    		pass
    >>> A.__init__.im_func.func_code.co_varnames
    ('self', 'uno', 'dos')

  7. #7
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Le problème, c'est qu'en C, aucun nom n'est donné aux variables, ni aucune valeur par défaut.

    Tout le travail se fait dans la fonction même, qui reçoit un tuple (et un dico si je me souviens bien) de paramètres, donc sans nom, et qui en fait ce qu'elle veut.
    Même le type des paramètres est indéfini à priori.

    Impossible donc de récupérer ces informations s'il s'agit d'un code compilé contre l'api python.

  8. #8
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Tant pis, il va falloir faire sans.

    Merci pour toutes ces infos.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2014, 13h48
  2. accéder aux champs contenus dans une iFrame
    Par toome dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/01/2008, 19h45
  3. Réponses: 5
    Dernier message: 11/09/2007, 11h32
  4. Réponses: 3
    Dernier message: 13/04/2006, 18h04
  5. Réponses: 17
    Dernier message: 16/10/2005, 21h01

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