[Python-Dev] Another approach to decorators.
"Martin v. Löwis"
martin at v.loewis.de
Wed Aug 11 22:11:37 CEST 2004
Martin Zarate wrote:
> @ means nothing to an uninformed eye. This violates the most important
> feature of Python (imho) which is that it is "runnable pseudocode". A coder
> will see what "def" or "class" or "import" means just by looking at it. @ is
> meaningless.
I think it is irrelevant that @ means nothing in this context. Python
will still be runnable pseudo-code. Remember that the decorator will read
@staticmethod
So the eye unfamiliar with Python may wonder what the @ means. As you
suggest, it means nothing, and the reader will see the staticmethod
after it, and guess (correctly): "this somehow make a static method".
> I submit that a reserved keyword would fit much better in the @ place.
To the uninformed eye, this would be harmful. It may have a grasp what a
static method is, and that you have to declare it. However, what does
the additional keyword mean? The uninformed eye will try to put a
meaning into it, but there is none. The unformed eye will never guess
how static methods work in Python - that the method is actually an
object, that "staticmethod" is actually a type, and this all is a
constructor call, assigning to the name of the function.
> I'm sure you can all think of something better than @.
Actually, I can't. Your post just convinced me that a keyword can never
be better.
Regards,
Martin
More information about the Python-Dev
mailing list