python def def nested测试

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()

原文地址:https://www.cnblogs.com/lexus/p/1808757.html