Paddy a écrit : > Frank Millman wrote: > >>Paddy wrote: >> >>>Hi, >>>I am trying to work out why I get UnboundLocalError when accessing an >>>int from a function where the int is at the global scope, without >>>explicitly declaring it as global but not when accessing a list in >>>similar circumstances. >>> >> >>With the statement 'm = m + 1', as m is assigned to on the LHS, it is >>deemed to be local, but as m does not yet have a value on the RHS, you >>get Unbound Local Error. >> >>With the statement 'n[0] = n[0] + 1', n is not being assigned to, as it >>is mutable. Therefore Python looks in the global namespace, finds n >>there, and uses it successfully. >> >>My 2c >> >>Frank Millman > > So, to paraphrase to test my understanding: > > in the statement: ' n[0] = n[0] + 1' it is the object referenced by the > name n that is being assigned to rather than n itself, so n is not > 'tagged' as a local variable by the LHS of the assignment.
Nope. You got it plain wrong - cf my answer to Frank in this thread. > > Thanks Frank. all is is now clear :-) It is obviously not. -- http://mail.python.org/mailman/listinfo/python-list