On Tue, Mar 27, 2018 at 7:00 AM, Nick Coghlan <ncogh...@gmail.com> wrote:

> On 27 March 2018 at 01:57, Guido van Rossum <gu...@python.org> wrote:
> > On Mon, Mar 26, 2018 at 7:57 AM, Nick Coghlan <ncogh...@gmail.com>
> wrote:
> >> By contrast, the sublocals idea strives to keep the *lifecycle* impact
> >> of naming a subexpression as negligible as possible - while a named
> >> subexpression might live a little longer than it used to as an
> >> anonymous subexpression (or substantially longer in the case of
> >> compound statement headers), it still wouldn't survive past the end of
> >> the statement where it appeared.
> >
> >
> > But this is not new: if you use a for-loop to initialize some class-level
> > structure  you have the same problem. There is also a standard solution
> > (just 'del' it).
>
> Right, but that's annoying, too, and adds "Am I polluting a namespace
> I care about?" to something that would ideally be a purely statement
> local consideration (and currently is for comprehensions and generator
> expressions).
>

The standard reply here is that if you can't tell at a glance whether
that's the case, your code is too complex. The Zen of Python says
"Namespaces are one honking great idea -- let's do more of those!" and in
this case that means refactor into smaller namespaces, i.e.
functions/methods.

-- 
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to