Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2617 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [python] liste d'arguments de fonction ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[python] liste d'arguments de fonction ?

n°1579476
k666
dites non à petitmou
Posté le 26-06-2007 à 16:47:25  profilanswer
 

Hello,
je voudrais savoir comment lister les arguments definis pour une fonction ou objet sans trop toucher a mon code. je m'explique:
 

Code :
  1. def maFonction(bla, ble, bli):
  2.     for arg in args:
  3.         print arg


voila je voudrais avoir une liste ou quoi que ce soit des arguments de la fonction histoire de pouvoir avoir un resultat genre:
 
bla = telle_valeur
ble = telle_autre
bli = pouetpouet
 
en fait, je cherche a faire une objet de debug simple, a mettre dans toutes les fonctions de mon code.
cet objet loguerait le nom de la fonction et tous les arguments passes.
ce qui donnerait au final:
 

Code :
  1. debugFunction(debug_type, debug_inf):
  2.     if debug_type == "functioncall":
  3.         print "called "+debug_inf["function_name"]+"("+str(debug_inf["arguments"])+" )"
  4. def maFonction(arg1, arg2):
  5.     debugFunction("functioncall",["function_name":"maFonction","arguments":args])
  6.     # corps de la fonction
  7.     pass


 
Help, comment faire pour ne pas devoir entrer a la mano la liste des arguments definis pour la fonction ?

mood
Publicité
Posté le 26-06-2007 à 16:47:25  profilanswer
 

n°1579624
masklinn
í dag viðrar vel til loftárása
Posté le 26-06-2007 à 21:56:23  profilanswer
 

locals()

 

ou, encore mieux, un décorateur si tu es en Python 2.4 ou 2.5


Message édité par masklinn le 26-06-2007 à 21:58:03

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1579973
k666
dites non à petitmou
Posté le 27-06-2007 à 15:53:02  profilanswer
 

c koi un decorateur ?????

n°1580005
masklinn
í dag viðrar vel til loftárása
Posté le 27-06-2007 à 16:44:33  profilanswer
 

RTFM


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1580128
k666
dites non à petitmou
Posté le 27-06-2007 à 21:05:16  profilanswer
 

ok j'ai vu que ca a l'air pas mal,
l'exemple en particulier qui m'interesse est celui la:

Code :
  1. import sys
  2. WHAT_TO_DEBUG = set(['io', 'core'])  # change to what you need
  3. class debug:
  4.     """ Decorator which helps to control what aspects of a program to debug
  5.     on per-function basis. Aspects are provided as list of arguments.
  6.     It DOESN'T slowdown functions which aren't supposed to be debugged.
  7.     """
  8.     def __init__(self, aspects=None):
  9.         self.aspects = set(aspects)
  10.     def __call__(self, f):
  11.         if self.aspects & WHAT_TO_DEBUG:
  12.             def newf(*args, **kwds):
  13.                 print >> sys.stderr, f.func_name, args, kwds
  14.                 f_result = f(*args, **kwds)
  15.                 print >> sys.stderr, f.func_name, "returned", f_result
  16.                 return f_result
  17.             newf.__doc__ = f.__doc__
  18.             return newf
  19.         else:
  20.             return f
  21. @debug(['io'])
  22. def prn(x):
  23.     print x
  24. @debug(['core'])
  25. def mult(x, y):
  26.     return x * y
  27. prn(mult(2,2))


par contre je suis entraind e faire une appli multithreadee donc je ne sais pas comment je peux gerer ca e l'indentation d'appels recursifs de fonctions.
???


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [python] liste d'arguments de fonction ?

 

Sujets relatifs
liste deroulante[CSS] problème disposition d'une liste de liens
Problème de SMTP avec la fonction mail() et YahooProblème avec la fonction mail()
fonction SQL dans macro excel[SQL] aide avec la fonction MAX()
Cherche programmeurs python débutants ou pro pour projet simple[RESOLU] librairie C pour le buzzer pc ? fonction frequence ?
sql loader (liste des champs dans le fichier de controle)[Résolu] Appeler une fonction avec comme paramètre la fonction d'appel
Plus de sujets relatifs à : [python] liste d'arguments de fonction ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)