码迷,mamicode.com
首页 > 其他好文 > 详细

函数式编程

时间:2017-06-08 00:22:18      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:strong   format   根据   判断   英文   过滤   ==   输出   理解   

python下的函数式编程

   函数式编程允许有变量;支持高阶函数(函数可以作为变量传入);支持闭包(可以返回函数);有限度地支持匿名函数

高阶函数

1.定义:能够接收函数作为参数的函数就是高阶函数,下面举个例子好理解一下。

1 def length(x,y,f):
2     return f(x)+f(y)
3 length(ab,abc,len)

2.内置高阶函数

 1) map(func,list) :将函数作用与list的每一个元素,返回的list。例子如下:

1 def format_name(s):
2     return s.lower().capitalize()
3 print map(format_name,[adam, LISA, barT])
4 
5 输出结果为:[Adam, Lisa, Bart]

2)  reduce(func,list) :与map()不同,func是必须是接收两个参数的函数,对list中的每个参数进行调用,返回最终结果。累加或者累乘就可以利用这个。例子如下:

def multiply(x,y):
    return x*y
reduce(multiply,[1,2,3,4,5]

返回结果: 120

3)  filter(func,list) :英文意思是过滤,很形象。这个函数的作用就是针对list中的每个元素,用func函数进行判断true 和false,然后根据过滤掉判断结果是false的元素,将判断结果是true的元素组成新的list,返回。例子如下:

from math import sqrt
def is_sqr(x):
    return sqrt(x)%1 == 0
print filter(is_sqr, range(1,101))

返回结果: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

 

 

 

 

  

函数式编程

标签:strong   format   根据   判断   英文   过滤   ==   输出   理解   

原文地址:http://www.cnblogs.com/kongkong-live/p/6952566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!