manipulating class attributes from a decorator while the class is being defined

Wilbert Berendsen wbsoft at
Sat Apr 19 23:19:14 CEST 2008

Hi, is it possible to manipulate class attributes from within a decorator 
while the class is being defined?

I want to register methods with some additional values in a class attribute. 
But I can't get a decorator to change a class attribute while the class is 
still being defined. Something like:

class Parser(object):
  regexps = []
  def reg(regexp):
    def deco(func):
      regexps.append((regexp, func))
      return func
    return deco
  def quoted_string(self):

How can I reach the class attribute `regexps' from within a decorator?

Thanks for any help,
Wilbert Berendsen

"You must be the change you wish to see in the world."
        -- Mahatma Gandhi

More information about the Python-list mailing list