[Python-Dev] Re: closure semantics
Terry Reedy
tjreedy at udel.edu
Tue Oct 21 23:22:09 EDT 2003
"Guido van Rossum" <guido at python.org> wrote in message
news:200310212340.h9LNeYq25691 at 12-236-54-216.client.attbi.com...
> Eek. Global statement inside flow control should be deprecated, not
> abused to show that global is evil. :-)
Is there any good reason to ever use globals anywhere other than as
the first statement (after doc string) of a function? If not, could
its usage be so restricted (like __future__ import)?
> > Plus. EVERY newbie makes the mistake of taking "global" to mean
> > "for ALL modules" rather than "for THIS module",
Part of my brain still thinks that, and another part has to say,
'no, just modular or mod_vars()'.
> Only if they've been exposed to languages that have such globals.
Like Python with __builtins__? which I think of as the true globals.
Do C or Fortran count as such a source of 'infection'?
> > uselessly using global in toplevel,
>> Which the parser should reject.
Good. The current nonrejection sometimes leads beginners astray
because they think it must be doing something.
While I use global/s() just fine, I still don't like the names. I
decided awhile ago that they must predate import, when the current
module scoop would have been 'global'.
>[from another post] But I appreciate the argument; 'global' comes
from ABC's >SHARE, but ABC doesn't have modules.
Aha! Now I can use this explanation as fact instead of speculation.
Terry J. Reedy
More information about the Python-Dev
mailing list