[Python-Dev] LOAD_NAME & classes (original) (raw)

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 > dosomethingwith(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