Op 2005-08-06, Peter Hansen schreef <[EMAIL PROTECTED]>: > Paolino wrote: >> [EMAIL PROTECTED] wrote: >> def enclosing(): >> var=[] >> var[0]=2 >> def enclosed(): >> var[0]=4 >> which is like saying python is not working >> >> It's ok to mark non locals,but why var=4 is not searched outside and >> var[0]=4 yes? > > Because "var=4" rebinds the name "var", while "var[0]=4" does not. It's > exactly the same issue with using "global", where you don't need it if > you aren't rebinding the name.
This doesn't answer the question at the appropiate level IMO. Why has one made a difference in search policy for finding a variable based on whether the variable is rebound or not in the first place. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list