Necesito saber el número de llamadas a una cierta función

Chema Cortes py en ch3m4.org
Mar Nov 29 11:29:45 CET 2005


Pepe Aracil escribió:
> Faltarian los **kargs en el la funcion wrapper ¿No?

Efectivamente. Todavía sería más genérico con **kargs. Tan sólo quería
mostrar la idea ya que la solución admite muchas variaciones.


def mytrace(f):
    def wr_f(*args,**kw):
        s=','.join( [str(item) for item in args] )
        s+=','.join( [str(k)+'='+str(v) for k,v in kw.items()]  )
        print "--> %s(%s)"% (f.__name__,s)
        res=f(*args,**kw)
        print "%s(%s) ==> %s"%(f.__name__,s,str(res))
        return res
    return wr_f

@mytrace
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)

print fact(n=3)




Más información sobre la lista de distribución Python-es