On Mon, 20 Jun 2011 15:35:35 -0700, gervaz wrote: > Hi all, can you explain me why this simple function works well (i.e. I > can call the print function using txt) in py > >>>> def test(value): > ... if value%5: txt = "hello" > ... else: txt = "test" > ... print(txt) > > while in other languages like C the txt identifier would be undefined?
Because Python is not C and doesn't require declarations. > Is there a way to force the scoping? It is scoped. txt is local to the function test. What more do you want? If your functions are so large that you worry about name clashes between code in different parts of the one function, the solution is to break this one huge function into many small functions. That's what functions are for: to encapsulate a limited amount of reusable functionality into a namespace. -- Steven -- http://mail.python.org/mailman/listinfo/python-list