On Jan 25, 5:31 am, Steven D'Aprano <[EMAIL PROTECTED] cybersource.com.au> wrote: > On Thu, 24 Jan 2008 23:04:42 -0800, Tim Rau wrote: > > UnboundLocalError: local variable 'nextID' referenced before assignment > > When you assign to a name in Python, the compiler treats it as a local > variable. So when you have a line like this: > > nextID += 1 # equivalent to nextID = nextID + 1 > > you are getting the value of the _local_ nextID before you have assigned > a value to it. > > > I want to know why it says 'local variable' it never had a problem when > > just allThings was in there. > > Because you don't assign to allThings, and therefore it is treated as > global. > > > as for the objection to global variable: If I didn't make them global, > > I'd make them part of a singleton class called gameVars that would get > > passed everywhere. > > *shrug* Or you could consider a different program structure completely. >
Oh, wait nevermind, I now understand what global nextID is for **ENLIGHTENMENT** \ /\ | :o--- X | / \/ | [snip] -- http://mail.python.org/mailman/listinfo/python-list