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 :

Ajout dynamique de methodes à une classe ?


Sujet :

Python

  1. #1
    Membre éclairé
    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
    Points : 773
    Points
    773
    Par défaut Ajout dynamique de methodes à une classe ?
    Salut tout le monde,

    Puisque dans python tout est objet, et que l'on peut également ajouter dynamiquement des attribut à une classe ou une de ses instances, je suppose qu'il doit bien y avoir un moyen d'ajouter de la même manière une ou plusieurs méthodes, non ? Si oui, quelle est-elle please ?

    J'avais beau avoir cherché il y a quelque semaines de ça, je n'avais alors rien trouvé, mais c'est maintenant chose faite. C'est bon .
    Pour ceux que ç intéresserait, voici la méthode que j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> class A(object): pass
    >>> import re
    >>> def meth(className,functionCode):
        comp=re.compile('def (.*?)\(')
        methodName=comp.findall(functionCode)[0]
        exec(functionCode)
        exec("setattr({0},'{1}',classmethod({1}))".format(className,methodName))
    >>> meth('A','def foo(cls): print "foo"')
    >>> A.foo()
    foo
    Je viens juste d'y penser, mais si ça se trouve y'a mieux à faire, donc si vous connaissez mieux, n'hésitez pas

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    On en a parlé il n'y a pas longtemps sur ce forum.

    http://www.developpez.net/forums/d66...se-derivation/
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Membre éclairé
    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
    Points : 773
    Points
    773
    Par défaut
    Tiens oui, je n'aurais jamais pensé à aller chercher dans le sous forum bibliothèque tierce mais bon, merci . Je viens d'y jeter un oeil et... je préfère quand même ma méthode pour deux raisons :
    on peut rajouter une méthode directement pendant l'éxécution du programme, et ensuite au niveau mémoire, seule la méthode est gardée, la fonction elle est oubliée . Bon en même temps je me suis pas penché à fond les autres méthodes, ce que je ferais un peu plus tard... merci encore.

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

Discussions similaires

  1. [XL-2003] Ajouter dynamiquement des Events à une Feuille via un module de classe.
    Par comme de bien entendu dans le forum Excel
    Réponses: 4
    Dernier message: 10/06/2012, 07h11
  2. [XL-2003] Ajouter dynamiquement des Events à une Feuille via un module de classe.
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2012, 18h06
  3. ajout dynamique d'options à une liste
    Par Kerrisson dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/04/2007, 10h30
  4. Ajout dynamique de contrôle à une page
    Par brazilia28 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 06/04/2007, 10h27
  5. Réponses: 1
    Dernier message: 22/06/2006, 09h17

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