En Tue, 26 Jun 2007 21:48:50 -0300, hari sirigibathina <[EMAIL PROTECTED]> escribió:
> -Calling a method say aMethod() from another method where i mistakenly > initialised a variable with name same as the called method like aMethod = > 'string'. When i run this py script triggered "Unbound Local error". > can any one explain me whats going here ? curios to learn from my > mistake > :) A simple example: >>> def f(): ... x = a + 1 ... a = 3 ... >>> f() Traceback (most recent call last): File "<stdin>", line 1, in ? File "<stdin>", line 2, in f UnboundLocalError: local variable 'a' referenced before assignment That means: 1) Python knows that variable "a" is local (because you assign 3 to it later) 2) But you have not assigned anything to it yet. >>> def g(): ... x = a + 1 ... >>> g() Traceback (most recent call last): File "<stdin>", line 1, in ? File "<stdin>", line 2, in g NameError: global name 'a' is not defined This time, "a" is not local, and not found in the global namespace either. The message tells you that it was looking for a global variable, and could not find it. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list