在Python中函數可以作為參數進行傳遞,而也可以賦值給其他變量(類似Javascript,或者C/C++中的函數指針);
類似Javascript,Python支持函數嵌套,Javascript嵌套函數的應用模式對Python適用;
代碼如下:
>>> def multiplier(factor):
... def multiple(number):
... return number * factor
... return multiple
...
>>>
>>> multiplier(3)(3)
9
>>> multiplier(4)(3)
與嵌套函數緊密相關的就是閉包特性,舉一個簡單的例子:
代碼如下:
>>> def test():
... a = {'name': 'wyj'}
... def f():
... return a['name']
... return f
...
>>> def test():
... a = {'name': 'wyj'}
... def f():
... return a['name']
... return a,f
...
>>> a,f = test()
>>> f()
'wyj'
>>> a['name'] = 'ljq'
>>> f()
'ljq'
例子3
#! /usr/bin/pythondef yao1(a=1,b=32): def yao2(c=54): def yao3(d=3): def yao4(e=10): return a+b+c+d+e return yao4 return yao3 return yao2print yao1()()()()
|
新聞熱點
疑難解答