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()函数
原理:需要两个参数,一个是二元函数,一个是可便利队列。便利队列,依次取出前两个值,用函数作用,将这两个值作用成一个值,用这个值替换开始的俩个值,如此重复,直到整个队列只剩下一个值,返回这个值。
举个栗子:
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()函数
原理:需要两个参数,一个是二元函数,一个是可便利队列。便利队列,依次取出前两个值,用函数作用,将这两个值作用成一个值,用这个值替换开始的俩个值,如此重复,直到整个队列只剩下一个值,返回这个值。
举个栗子:
相关文章推荐
- python学习笔记(四) - 函数式编程
- Python学习----函数式编程
- Python学习笔记2:函数式编程
- 【python学习】之二、函数式编程
- 【python学习】之二、函数式编程
- Python学习_08_函数式编程
- python学习 函数式编程
- python学习——函数式编程
- Python基础学习代码之函数和函数式编程
- 【Python学习笔记】函数式编程:高阶函数sorted
- Python 函数式编程学习
- python学习(3)函数式编程
- Python学习笔记——函数式编程
- 【Python学习笔记】函数式编程
- Python函数式编程学习:lambda, map, reduce, filter
- python2.7学习笔记(7) ——函数式编程
- 王亟亟的Python学习之路(八)-函数式编程,map(),reduce(),filter()
- 王亟亟的Python学习之路(八)-函数式编程,map(),reduce(),filter()
- 【Python学习笔记】函数式编程:高阶函数map和reduce
- 【Python学习笔记】函数式编程:高阶函数