Mark Dickinson <dicki...@gmail.com> added the comment: This is not a bug, just a common gotcha. The rules are described at:
http://docs.python.org/reference/executionmodel.html#naming Here's the relevant excerpt: """If a name binding operation occurs anywhere within a code block, all uses of the name within the block are treated as references to the current block. This can lead to errors when a name is used within a block before it is bound. This rule is subtle. Python lacks declarations and allows name binding operations to occur anywhere within a code block. The local variables of a code block can be determined by scanning the entire text of the block for name binding operations.""" ---------- nosy: +marketdickinson _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue5763> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com