Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!例如:
def f():
print 'use f()'
def g():
print 'use g()'
#返回函数g
return g
调用函数 f,我们会得到 f 返回的一个函数:
>>> x = f()
use f()
>>> x
<function g at 0x1037bf320>
>>> x()
use g() #调用x()就是执行g()函数定义的代码
请注意区分返回函数和返回值:
def my_abs():
return abs #返回的是函数
def my_abs2(x):
return abs(x) #返回函数调用的结果,返回值是一个数值