[Python-Dev] decorator support (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Sun Sep 5 11:16:45 CEST 2004
- Previous message: [Python-Dev] decorator support
- Next message: [Python-Dev] decorator support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Raymond Hettinger wrote:
So, it would be nice if there were some support for carrying forward the argspec to inform help(), calltips(), and inspect().
What were you thinking of? I could imagine a predefined class, such as
class copyfuncattrs: def init(self, f): self.f = f
def __call__(self, func):
res = self.f(func)
res.__name__ = func.__name__
res.__doc__ = func.__doc__
res.__dict__.update(func.__dict__)
return res
This could be used to define a decorator
@copyfuncattrs def trace(f): def do_trace(*args): print "invoking", f.name, args return f(*args) return do_trace
which in turn could be used to decorate a function
@trace def hello(): "Print a nice greeting" print "Hello, world"
which in turn could be called and inspected
hello() print hello.doc
Then, the question is where copyfuncattrs should live, and I would object that to be yet another builtin.
Regards, Martin
- Previous message: [Python-Dev] decorator support
- Next message: [Python-Dev] decorator support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]