On Thu, May 27, 2021 at 1:40 PM Matt del Valle <matthew...@gmail.com> wrote:

> ...



Oh, and I think I've just discovered another thing that I'm not 100% sure I
> like. Even putting aside that I'm not a fan of decorators on the same line
> as the statement they are decorating (as I mentioned in an earlier
> response), you've got examples of variable decorators where no assignment
> is happening such as:
>
> @decorator var
>
> To me this breaks the symmetry between function decorators, which always
> decorate a function definition (an implicit form of assignment), and the
> proposed variable decorators.
>
> They are also confusing in the sense that the decorator is de-facto
> turning an otherwise invalid python statement legal. If you remove the
> decorator from the above example you will presumably get a `NameError`.
>
> I imagine this would then have to be special-cased somehow in the language
> spec so that an undefined name is not evaluated, but only when preceded by
> a decorator? I don't know, it seems messy to me.
>
> Also, I just can't quite see the value in them if I'm honest, whereas the
> version that is applied to an assignment statement:
>
> @decorator var: bool = True
>
> And even a bare type-hint version:
>
> @decorator var: bool
>
> seem to me to be far more self-evidently useful.
>

Ok, agreed on all points. I think an eventual full-fledged proposal could
easily put naked decorations like:

@decorator var

...to the wayside, to be added later if people have a really good reason
for it.

---
Ricky.

"I've never met a Kentucky man who wasn't either thinking about going home
or actually going home." - Happy Chandler
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/WYE3N7XCWRCY4HJZ7P644BXAXEUBZL2M/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to