[Python-Dev] Why aren't decorators just expressions?

Guido van Rossum gvanrossum at gmail.com
Sat Sep 16 15:59:26 EDT 2017


It was and is all very intentional. I don't want to encourage line noise,
which the at-sign already resembles. But namespacing and some form of
parametrization (i.e. calls) are essential. So that's what we got.

On Sep 16, 2017 11:30 AM, "Skip Montanaro" <skip.montanaro at gmail.com> wrote:

> > Indeed, I can’t remember a single time where I’ve needed that, let alone
> actually realized the restriction existed.
>
> Likewise. I suspect the use of a function sort of just fell out from the
> pre-decorator usage. Things like staticmethod()
> <https://docs.python.org/2/library/functions.html#staticmethod> and
> classmethod()
> <https://docs.python.org/2/library/functions.html#classmethod> were used
> well before decorators were available. (According to the linked 2.7 doc
> references, both were introduced in 2.2, with decorator tweaks coming along
> in 2.4.) In fact, those two functions might have been the most significant
> driving force in the development of decorators, which, I believe, were
> always just thought if as nothing more than syntactic sugar for existing
> common use cases.
>
> Skip
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/
> guido%40python.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20170916/272c8e8e/attachment.html>


More information about the Python-Dev mailing list