例子:
代碼如下:
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()
新聞熱點
疑難解答