Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1259 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

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR