[Python-Dev] LOAD_NAME & classes

Neal Norwitz neal@metaslash.com
Tue, 23 Apr 2002 22:34:41 -0400


Greg Ewing wrote:
> 
> Guido:
> 
> >    def f():
> >        print x # user thinks this should print the global
> >       # 2000 lines of unrelated code
> >       for x in "some sequence": # doesn't realize this overrides x
> >           do_something_with(x)
> 
> Perhaps a warning could be issued if the first reference
> to a local textually precedes the first assignment to it?
> Would that help catch things like this, without complaining
> about too much existing code?

The standard library has 4 such occurrences:

ftplib.py:678: Variable (macro_lines) used before being set
ftplib.py:681: Variable (macro_name) used before being set
tokenize.py:148: Variable (strstart) used before being set
tokenize.py:149: Variable (endprog) used before being set

The line numbers are from CVS version subtract 77/20 for 2.2.1.

Neal