Antoon Pardon <antoon.par...@vub.be> writes: > What I am trying to do is the following. > > class MyClass (...) : > @register > def MyFunction(...) > ... > > What I would want is for the register decorator to somehow create/mutate > class variable(s) of MyClass. > > Is that possible or do I have to rethink my approach?
As others have already explained: the decoration works an the function (not the method) level. A function knows nothing of a class. Others have already pointed out work arounds. I add an additional one: Instead of: class C: ... @decorate def f(...): ... ... you can use: class C: ... def f(...): ... ... decorate(C, C.f) In Python 2, "C.f" returns a method (an object with a reference to the class and the function) - there, you would not need the class parameter for "decorate". In Python 3, however, "C.f" is the function (without any reference to the class. -- https://mail.python.org/mailman/listinfo/python-list