danielx wrote: > Gerhard Fiedler wrote: [...] >>Yes, but it is the line "tok = ''" that seems to cause tok to be now a >>variable of the inner function's scope (rather than the variable tok of >>breakLine). > > > OHH! Yes, that sounds like it could be it. Wow, to me, that behavior is > eXtremely unexpected (there's lisp popping up its ugly head again :P). > So you're saying that because an assignment to tok appears later within > the def for addTok, that the line if len(tok) won't try to look in > enclosing local scopes? (If such things even exist...) > > Gerhard's reply sounded not so confident. Can we have someone who > "really" knows weigh in on this? Thanks! > Would I do? If there's a binding to a name *anywhere* in the function's body then that name is treated as local to the function. This is a matter of static analysis, and is irrespective of where in the body the assignment is found.
Of course, you could always test this yourself in interactive mode ... regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list