您的位置:首页 > 编程语言 > Python开发

Python学习---第6天---函数式编程

2017-03-02 15:40 288 查看
1、实现方式:

  lambda表达式+4种内键函数

2、匿名函数

  语法:lambda [agr1 [,arg2,arg3...argN]]:expression,参数是可选的。

  简而言之:lambda 参数:函数返回值

  举个栗子: def add(x,y):return x+y 等价于 lambda x,y : x+y

         def add(x,y=1):return x+y 等价于 lambda x,y=1 : x+y

         def show(*z):return z 等价于 lambda *z : z

  使用:a=lambda x,y : x+y ;print(a(3,5))  #输出数字8

3、内键函数

  *apply()函数

  已经逐步淘汰,故忽略

  *filter()函数

  原理:需要两个参数,一个是过滤函数,一个是可便利队列。便利队列,取出每一个元素,用过略函数作用,将函数过滤后返回为真的元素项封装进一个新的队列,返回新的队列。

 实现:

 


  举个栗子:

 


  注意:Python3之前,filter直接返回list,Python3返回的是一个迭代器!

  *map()函数

  原理:需要两个参数,一个是函数,一个是可便利队列。便利队列,取出每一个元素,用函数作用,将函数返回值封装进一个队列,返回返回值队列

  实现:

  


  举个栗子:

 


 *reduce()函数

 原理:需要两个参数,一个是二元函数,一个是可便利队列。便利队列,依次取出前两个值,用函数作用,将这两个值作用成一个值,用这个值替换开始的俩个值,如此重复,直到整个队列只剩下一个值,返回这个值。

 举个栗子:

 


 

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: