Antoon Pardon wrote: > 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?
If you are willing to delegate the actual work to the metaclass call: def register(f): f.registered = True return f def registered(name, bases, namespace): namespace["my_cool_functions"] = [ n for n, v in namespace.items() if getattr(v, "registered", False) ] return type(name, bases, namespace) class MyClass(metaclass=registered) : @register def foo(self): pass @register def bar(self): pass def other(self): pass print(MyClass.my_cool_functions) -- https://mail.python.org/mailman/listinfo/python-list