[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