Message110039
I'm not sure what I correct behavior is in this case. Consider the function equivalent:
x = 3
def f(x):
def m():
x = x
print x
m()
f(4)
which gives:
Traceback (most recent call last):
File "x.py", line 7, in <module>
f(4)
File "x.py", line 6, in f
m()
File "x.py", line 4, in m
x = x
UnboundLocalError: local variable 'x' referenced before assignment
The class example works because name namespaces are unoptimized, so failing to find a binding in the local (class) namepsace, Python looks at the globals and finds the global definition. |
|
Date |
User |
Action |
Args |
2010-07-11 20:24:45 | benjamin.peterson | set | recipients:
+ benjamin.peterson, monsanto |
2010-07-11 20:24:45 | benjamin.peterson | set | messageid: <1278879885.25.0.555833071992.issue9226@psf.upfronthosting.co.za> |
2010-07-11 20:24:43 | benjamin.peterson | link | issue9226 messages |
2010-07-11 20:24:43 | benjamin.peterson | create | |
|