Decorator syntax
Ames Andreas (MPA/DF)
Andreas.Ames at tenovis.com
Fri Aug 6 05:57:33 EDT 2004
Hi,
thanks for your help.
Terry Reedy wrote:
> That particular syntax -- deco in parens and jammed up against was
> never proposed. A similar syntax -- no parens and a space was.
> Guide said a) he thought there would be parser issues and b) this
> would cause problems with all support tools that assume that the
> next name after def is the function name.
I just found this style appropriate because it thus looks like a
parameter to "def", which it, the decorator, somehow is, if I
understand correctly. The same could be done to "class", but
unfortunately not to (instance) variables(, because they have no
keyword for declaration). I could even imagine
class<deco1> Test:
def<deco2> test1(self):
self.i<deco3> = "foo"
and yes, I'm coming from a C/C++ background, if you haven't realized
yet and, what's worse, I still like those :-).
> Also, some of the major proponents want parameterized decorators and
> multiple decorators, not just a different position for staticmethod
> and classmethod. So
I can't see a problem here. If I understand correctly, decorators are
meant to be some sort of callables, so if you need parameters you can
very easily use functors (just bear with my C++ heritage once again
;-) or however those classes with a __call__ method are called in
python. That's exactly what I use functors regularly for.
> For what its worth: 1) this issue and multiple alternatives has been
> discussed since at least Jan 03. Since then, it has possibly taken
> more devel time, and probably more Pydev postings than any single
> other issue; 2) the PEP is broken and Guido knows it. We'll see if
Then I can very well understand that almost everyone seems quite
emotional about this thing. Sorry for beating a dead horse here, but
I just wanted to insert my € 0,02.
cheers,
andreas
More information about the Python-list
mailing list