[Python-Dev] Advice in stat.py
Thomas Wouters
thomas@xs4all.net
Sun, 29 Jul 2001 20:23:37 +0200
On Sun, Jul 29, 2001 at 01:00:59PM -0400, Guido van Rossum wrote:
> > (with future statement)
> > >>> def spam(x):
> > ... from stat import *
> > ... def eggs():
> > ... print x
> > ...
> > File "<stdin>", line 2
> > SyntaxError: import * is not allowed in function 'spam' because it contains
> > a nested function with free variables
> Hm. I'm curious why it was not made a warning without a nested
> function. Perhaps because too much 3rd party code would trigger the
> warning?
Yes.
> (I have a feeling that lots of amateur programmers are a lot
> fonder of import * than they should be :-( ).
Oh yeah. If ActiveState's mailinglist statistics were extended to show
howmany of my posts preach against using 'import *', I'd be top dog in the
python-list stats :-) I also still owe Fred a tutorial chapter on why not to
use import * :)
> > >>> def spam(x,y):
> > ... exec y
> > ... def eggs():
> > ... print x
> That one is just fine I think.
Why is 'import *' inside a function fine, but a bare exec isn't ? Weren't
you going to deprecate bare exec's altogether ?
--
Thomas Wouters <thomas@xs4all.net>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!