返回函数
即是函数的返回值是一个函数
下面是一个求和的例子
def calc_sum(*args):
ax = 0
for n in args:
ax = ax + n
return ax
但是如果不需要求和而是需要在后面根据需要再计算,即需要返回的是函数
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
f = lazy_sum(1,2,3,4,5,6,7)
if __name__ == '__main__':
print(f())
以上代码如果你只调用lazy_sum只会返回
<function lazy_sum.<locals>.sum at 0x101c6ed90>
只有调用f时,才会真正返回计算求和的结果
28
引用:廖雪峰官方网站