python语言允许在定义函数时,其函数体内又包含另外一个函数的完整定义,即通常所说的嵌套定义;
例1:
def foo(): #定义函数foo(),
m=3 #定义变量m=3;
def bar(): #在foo内定义函数bar()
n=4 #定义局部变量n=4
print m+n #m相当于函数bar()的全局变量
bar() #foo()函数内调用函数bar()
例2:
def bar(m):
n=4
print m+n
def foo()
m=4
bar(m)
例2首先定义函数bar(),然后再次定义foo()函数,此时bar()和foo()完全独立的两个函数,再次foo()函数内调用bar();
其实,例1和实例2中的嵌套作用是一样只是两种不同的表现形式。