In Python, a function can be passed as a parameter, but it can also be assigned to other variables (like JavaScript, or function pointers in C + +);
Similar to Javascript,python support function nesting, JavaScript nesting function application mode for Python application;
Copy Code code as follows:
>>> def multiplier (factor):
... def multiple (number):
... return number * factor
... return multiple
...
>>>
>>> multiplier (3) (3)
9
>>> Multiplier (4) (3)
Closely related to nested functions is the closure feature, for a simple example:
Copy Code code as follows:
>>> 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 '
Example 3
#! /usr/bin/python
def 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
yao2
print Yao1 () () () ()