标签: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