python函数式编程-返回函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数式编程-返回函数相关的知识,希望对你有一定的参考价值。

一:函数作为返回值

>>> 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)
>>> 
>>> f
<function sum at 0x7fd1b3eccaa0>
>>> f()
15
>>> f1=lazy_sum(1,2,3,4,5)
>>> f1()
15
>>> 

 

二:闭包

>>> def count():
...     fs=[]
...     for i in range(1,4):
...         def f():
...             return i*i
...         fs.append(f)
...     return fs
... 
>>> f1, f2, f3 = count()
>>> f1
<function f at 0x7fd1b3edfed8>
>>> f1()
9
>>> f2()
9
>>> f3()
9
>>> 

 

以上是关于python函数式编程-返回函数的主要内容,如果未能解决你的问题,请参考以下文章

(转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)

Python函数式编程,范围和变量。我哪里错了?

Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

12 - 函数式编程

python之函数式编程

python函数式编程