python的函数嵌套的使用方法

例子:

代码如下:

def re_escape(fn): def arg_escaped(this, *args): t = [isinstance(a, verex) and a.s or re.escape(str(a)) for a in args] return fn(this, *t) return arg_escaped

函数嵌套python允许在定义函数的时候,其函数体内又包含另外一个函数的完整定义,这就是我们通常所说的嵌套定义。为什么?因为函数是用def语句定义的,凡是其他语句可以出现的地方,def语句同样可以出现。像这样定义在其他函数内的函数叫做内部函数,内部函数所在的函数叫做外部函数。当然,我们可以多层嵌套,这样的话,除了最外层和最内层的函数之外,其它函数既是外部函数又是内部函数。

使用方法

代码如下:

spam = 99def tester(): def nested(): global spam print(‘current=’,spam) spam += 1 return nested

#注意:打印 print 那行的代码调用是tester()()#而不是tester().nested()