Class Variable Access and Assignment

venk venkatasubramanian at
Thu Nov 3 15:00:55 CET 2005

 did  u read my reply fully? i too feel that this matter of raising
unbound local error in one case and not raising it in the other must be

quoting from the documentation
"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

More information about the Python-list mailing list