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 paramètres d’une fonction à partir de son objet


Sujet :

Python

  1. #1
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut Récupérer les paramètres d’une fonction à partir de son objet
    J’espère que cette question n’a pas déjà été posée…

    Donc, je voudrais savoir s’il y a un moyen de récupérer les paramètres (leurs noms et éventuelles valeurs par défaut) d’une fonction à partir de son objet. D’après la doc, j’ai pas l’impression que ce soit possible, mais ça m’étonne quand même un peu, venant de Python…

    Merci d’avance pour vos réponses

    PS : Si jamais ça a de l’importance, je travaille sous python 3.2.

  2. #2
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Je ne suis pas trop sûr d'avoir compris la question, mais les paramètres d'une fonction se récupèrent facilement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import sys
    def spyParams(*args, **kwds):
        for arg in args:
            sys.stdout.write("%s\n"%str(arg))
        for key in kwds.keys():
            sys.stdout.write("%s=%s\n"%(key, str(kwds[key])))
     
    spyParams(123, 45, toto=123.456, titi="toto")
    A+

    Pfeuh

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Points : 224
    Points
    224
    Par défaut
    Hello,
    Je pense que mont29 veut récupérer les arguments d'une fonction à l'extérieur de celle-ci.
    Si c'est ça, fouille le module inspect, tu devrais y trouver ton bonheur :

    petit exemple en python 2.6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    >>> import inspect
    >>> import inspect
    >>> def foo(a, b=42, *args, **kwargs):
    ...     pass
    ... 
    >>> inspect.getargspec(foo) # en python 3, on utilisera de préférence getfullargspec()
    ArgSpec(args=['a', 'b'], varargs='args', keywords='kwargs', defaults=(42,))
    Il y a plein d'autres trucs croustillants dans ce module

  4. #4
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Merci, pfeuh, mais je n’ai en effet pas dû être assez clair

    Donc, petit exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def foo(bar, blob=True, dummy="test"):
        pass
    Maintenant, comment retrouver, à partir de l’objet foo, les paramètres (nom et valeurs par défaut, genre récupérer un dict comme {'bar': None, 'blob': True, 'dummy': 'test'}) ? Il y a bien , mais ça ne me suffit pas !

    [EDIT] Ooops*! J’avais pas vu ton post, valAa… Merci beaucoup, c’est exactement ça que je voulais

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

Discussions similaires

  1. [Toutes versions] comment récupérer via VBA les arguments d’une fonction excel contenue dans une cellule ?
    Par popaul88 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/08/2014, 18h27
  2. Réponses: 1
    Dernier message: 17/10/2012, 16h18
  3. Réponses: 2
    Dernier message: 29/08/2007, 19h43
  4. Réponses: 11
    Dernier message: 06/09/2006, 12h48
  5. [PHP 4.4.2] Récupérer les paramètres d'une fonction
    Par stailer dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2006, 21h41

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