这篇文章主要介绍了python支持返回函数的实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近接触python,看到了python中返回函数的概念,以前只接触过函数返回值,比如python就可以返回int,str,list,dict等等类型数据,这里要说的是python还支持返回函数。
首先看看python支持返回函数的基本语法def f():
print 'call f()...'
# 定义函数g:
def g():
print 'call g()...'
# 返回函数g:
return g
这里,最外层的函数f会返回一个函数g,也就是函数g本身;
下面看看函数调用的过程;(接上面)>>> x = f() # 调用f()call f()...>>> x # 变量x就是上面一个最外层函数返回的函数(不是函数值)
>>> x() # x指向函数,因此可以调用,这里就是调用内层函数x()的过程call g()... # 调用x()就是执行g()函数定义的代码只返回函数的作用:
返回函数可以把一些计算延迟执行。例如,如果定义一个普通的求和函数:def calc_sum(lst):
return sum(lst)
>>>calc_sum([1,2,3,4])
结果直接是:10
但是,可以通过返回函数思想写代码,就可以“延时计算”def calc_sum(lst):
def lazy_sum():
return sum(lst) return lazy_su