mlzboy@mlzboy-mac:/usr/local/nginx$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def aa():
... a=1
... def bb():
... a=2
... print a
... bb()
... print a
...
>>> aa()
2
1
>>> def aa():
... a=1
... def bb():
... b=a
... print b
... a=3
... print a
... bb()
... print a
...
>>> aa()
1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 8, in aa
File "<stdin>", line 4, in bb
UnboundLocalError: local variable 'a' referenced before assignment
>>> def aa():
... a=1
... def bb(a=a):
... b=a
...
>>> def aa():
... a=1
... def bb(a=a):
... b=a
... print b
... print a
... a=2
... bb()
... print a
...
>>> aa()
1
1
1
>>> quit()