Posted in Python onJanuary 24, 2014
例子:
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 = 99 def tester(): def nested(): global spam print('current=',spam) spam += 1 return nested #注意:打印 print 那行的代码调用是tester()() #而不是tester().nested()
Python的函数嵌套的使用方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@