Florian Daniel Otel wrote: > > My problem: I just discovered (by mistake) that attempting to assign a > value to a non-local dictionary/list member does NOT generate an " > UnboundLocalError" exception and the assignment is preserved upon > exiting that scope (i.e. function). This would "violate" the python > scoping rules where a variable in a global scope can only be > referenced to (and not assigned to) -- unless declared as "global".
Right. However, assigning to a['foo'] modifies the object to which 'a' refers, not the 'a' variable itself. The rule is limited to the rebinding of variables, not the modification of the objects to which they refer. Gary Duzan Motorola CHS -- http://mail.python.org/mailman/listinfo/python-list