首页 > 代码库 > 函数式编程
函数式编程
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]
函数式编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。