On Fri, Sep 20, 2013 at 6:06 PM, babmis <bab...@outlook.com> wrote:
> I want to print entry and exit message for functions , i have bunch of such
> function . How can i do it in decorator.

>>> from functools import wraps
>>>
>>> def trace(f):
...     @wraps(f)
...     def wrap(*args, **kwargs):
...         print("Entering {} with {} {}".format(f.__name__,args,kwargs))
...         ret = f(*args,**kwargs)
...         print("Leaving {} with {}".format(f.__name__, ret))
...         return ret
...     return wrap
...
>>> @trace
... def foo(arg1,arg2,arg3="bar",arg4="buz") :
...     print("Into foo")
...     return ("Zoo", False)
...
>>>
>>> foo("hello", "world", arg4="Boo!")
Entering foo with ('hello', 'world') {'arg4': 'Boo!'}
Into foo
Leaving foo with ('Zoo', False)
('Zoo', False)


> _______________________________________________
> BangPypers mailing list
> BangPypers@python.org
> https://mail.python.org/mailman/listinfo/bangpypers
_______________________________________________
BangPypers mailing list
BangPypers@python.org
https://mail.python.org/mailman/listinfo/bangpypers

Reply via email to