On Nov 20, 4:59 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> How do I add a decorator to a class method? Here's what I want to do,
> but I guess my syntax isn't right. Any advice?
>
> class A:
> def pre(self,fn):
> def new_func(*args,**kwargs):
> print 'hi'
> fn(*args,**kwargs)
> return new_func
> @self.pre
> def func(self,a,b):
> print a+b
'self' is not bound during class creation so self.pre does not exist.
Your decorator should be a regular function:
def pre(fn):
...
class A:
@pre
def func(self, x, y):
....
HTH
--
Arnaud
--
http://mail.python.org/mailman/listinfo/python-list