4 ms·
It is not a particularly good example. A better one would be a = 1 def foo(): x = a a = 2 foo() > UnboundLocalError: local variabl
by m55au 4y ago
It is not a particularly good example. A better one would be
a = 1
def foo():
x = a
a = 2
foo()
> UnboundLocalError: local variable 'a' referenced before assignment
Basically a name cannot be both global and local inside the same function. Otherwise it would be a total mess.
"a = a" just means assign the value of local variable "a" to a local variable "a", so the error makes sense.