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 :

creation d'une fonction dynamiquement... [Fait]


Sujet :

Python

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Par défaut creation d'une fonction dynamiquement...
    Bonjour,

    quand je cree un objet, je voudrais qu'en utilisant le passage de parametre vers le __init__ cette objet crée une nvlle methode.

    en gros, que je donne un string "a=5\n return self.x + a" (self.x est une variable de mon objet).
    et je voudrais que mon objet cree une fonction faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a=5
    return self.x + a
    je sais pas si c'est tres clair...
    qqu'un a une idee ?

    il peut y avoir une fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    maFonctionDeBase(self):
        pass
    prédéfini dans la class. ca serait alors de la modification de fonction dynamique et non pas de la creation. je ne sais pas ce qui est le plus simple..

  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
    Par défaut
    je sais pas trop pourquoi tu veux faire çà, mais c'est pas propre du tout ton truc.
    Une façon, cf la FAQ:
    http://python.developpez.com/faq/?pa...es#GenStrDecla

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> class a:
    	pass
     
    >>> exec("def mafonction(self, a): return self.x+a")
    >>> setattr(a, "mafonction", mafonction)
    >>> b=a()
    >>> b.x=4
    >>> b.mafonction(3)
    7

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Par défaut
    merci!

    Citation Envoyé par Guigui_
    je sais pas trop pourquoi tu veux faire çà, mais c'est pas propre du tout ton truc.
    c'est pour donner la possibilite a un usr de mon appli de creer un fonction et de l'utiliser durant l'utilisation du soft.

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

Discussions similaires

  1. Comment appeller une fonction dynamiquement, à partir d'un argument
    Par Invité dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/04/2006, 16h47
  2. [T-SQL] Creation d'une fonction (syntaxe)
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 18/08/2005, 15h27
  3. creation d'une fonction par l'utilisateur
    Par michelk dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/03/2005, 09h53
  4. Creation d'une fonction temporaire avec droit datareader
    Par Bjuice2 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/10/2004, 14h26
  5. Creation d'une vue dynamique ?
    Par Simeans2004 dans le forum Administration
    Réponses: 5
    Dernier message: 01/07/2004, 15h25

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