Decorating instance methods
Diez B. Roggisch
deets at nospam.web.de
Mon Jul 9 03:49:39 EDT 2007
Alexander Draeger schrieb:
> Hello everybody,
>
> I'm very interesting in using the decorator concept, but I can't
> convert it in useful things. I have read many about decorators and
> have seen a lot of examples, but I search a possibility, to decorate
> methods of classes with reference to the instances. For example:
>
> I have a class A:
>
> class A(object):
> def __init__(self, name):
> self.name=name
>
> @logging
> def hello(self, name):
> print 'Hello World.'
>
>
>
> >>>a=A('Ernie')
> >>>b=A('Bert')
> >>>a.hello()
> Entering a method. [Ernie]
> Hello World.
>
> >>>b.hello()
> Entering a method. [Bert]
> Hello World.
>
>
> How should I implement the function logging, when I want to use the
> variable self.name for the logging message?
def logging(m):
def _w(self, *args, **kwargs):
print "name:", self.name
returm m(self, *args, **kwargs)
return _w
Diez
More information about the Python-list
mailing list