"bruno at modulix" schrieb > > What Python 2.4 adds is only syntactic sugar for decorators. > You can do the same - somewhat more explicitely - in 2.3. > > > What is the decorator useful for? > > > The whole things looks like this: > > def deco(func): > print "decorating %s" % func.__name__ > def _wrapper(*args, **kw): > print "%s called " % func.__name__ > res = func(*args, **kw) > print "%s returned %s" % (func.__name__, str(res)) return res ^^^^^^^^^^ Shouldn't here be a return res, so that wrapper behaves like the original function?
> return _wrapper > > # python < 2.4 > def somefunc(): > print "in somefunc" > return 42 > > somefunc = deco(somefunc) > Thanks for the explanation. Another question: Isn't decorating / wrapping usually done at runtime, so that the @deco notation is pretty useless (because you'd have to change the original code)? What do I miss here? Martin -- http://mail.python.org/mailman/listinfo/python-list