[Python-Dev] method decorators (PEP 318) (original) (raw)

Shane Hathaway shane at zope.com
Fri Mar 26 13:17:29 EST 2004


Skip Montanaro wrote:

It's a shame that there's no good way to define function attributes already. Aside from the fact that this is different than the other form of "decoration", it's also different than setting attributes for classes. Rather than invent a unique syntax I'd prefer to either use a decorator function or suffer with tacking them on at the end:

def foobar(self, arg): pass foobar.author = "Guido van Rossum" foobar.deprecated = True

It's interesting that this whole discussion is about placing declarations near the "def" statement, rather than after the function body. It appears to be a surprisingly important detail.

Tossing out another idea:

 foobar:
     author = "Guido van Rossum"
     deprecated = True
 def foobar(self, arg):
     pass

The declaration block must be followed immediately by a class or def statement. It looks elegant to me.

Shane



More information about the Python-Dev mailing list