python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
2016-12-04 11:54
1046 查看
1.1函数式编程
面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。
函数式编程:是使用一系列函数去解决问题,函数式编程就是根据编程的范式来的出想要的结果,只要是输入时确定的,输出就是确定的。
1.2高阶函数
能把函数作为参数传入,这样的函数就称为高阶函数。
1.2.1函数即变量
以python的内置函数print()为列,调用该函数一下代码
>>> print("hello world") hello world #只写print >>> print <built-in function print> #可见print("hello world")是函数调用,而print是函数本身
要获得函数调用执行的结果,我们把结果赋值给变量:
>>> aa = abs(-20) >>> aa 20
如果把函数本身赋值给变量
>>> p = print >>> p <built-in function print> #函数本身可以赋值给变量,变量可以指向函数
我们通过变量来调用这个print函数,验证结果如下
>>> p("check") check
总结:函数名也是变量,对于print()这个内置函数,完全可以把函数名print看成变量,它指向一个可以打印任何东西的函数
注:实际程序代码绝不能这么写,上面只是为了举例说明,要恢复print函数,请重启python的交互环境
1.2.2传入函数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一函数作为函数,这种函数就称为高阶函数,
函数的返回值是一个函数名,也是高阶函数。
例如:一个简单的高阶函数
def add(x,y,z): return abs(x)+abs(y) aa = add(12,23,abs) #函数执行的结果 赋值给 aa print(aa) #查看aa的值 #35 #注,abs()函数是求一个整数的绝对值
1.3匿名函数
什么是匿名函数:
在python中有一个匿名函数lambda,匿名函数就是指:无需定义标识符(函数名)的函数或子程序。
定义lambda表达式:
lambda arguments:express #arguments 参数(可以有多个参数) #express 表达式 #lambda返回值是一个函数的地址,也就是函数对象 aa = lambda arguments:express #把的到lambda函数地址,赋值给变量aa 查看这个lambda函数地址 ,用aa(argument) 查看这个函数的值
例1
print(sorted("hello")) #['e', 'h', 'l', 'l', 'o'] print(sorted(["hello","ho","haha"])) # ['haha', 'hello', 'ho']字符串排序
注:默认情况下,对字符串排序是按照ASCII编码表的大小进行比较的
最后总结:
python内置的几个高阶函数:map() ,reduce(),filter,sorted()
相关文章推荐
- Python入门 第四天(函数式编程、map、reduce、filter、排序函数、函数返回函数、闭包、匿名函数lambda)
- Python 函数式编程--高阶函数Map、Reduce、Filter、Sorted
- 【python】详解lambda匿名函数以及结合map、reduce、filter、sorted等使用
- Python函数式编程学习:lambda, map, reduce, filter
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊
- 王亟亟的Python学习之路(八)-函数式编程,map(),reduce(),filter()
- python 高阶函数 map reduce filter sorted 闭包 装饰器
- 关于python当中lambda、yield、map、reduce、filter、sorted的总结
- Python学习 Day 5 高阶函数 map/reduce filter sorter 返回函数 匿名函数 装饰器 偏函数
- python几个重要的函数(lambda,filter,reduce,map,zip) 一、匿名函数lambda lambda argument1,argument2,...argumentN :e
- Python函数式编程(高阶函数、map()、reduce()、filter()、sorted()、lambda、decorator装饰器)
- Python 函数式编程(高阶函数、把函数作为参数、map()函数、reduce()函数、filter()函数、自定义排序函数、函数返回函数、闭包、匿名函数、装饰器decorator)
- Python 函数式编程之 filter()、map()和reduce()
- 王亟亟的Python学习之路(八)-函数式编程,map(),reduce(),filter()
- python常用函数之lambda、reduce、map、sorted、filter
- Python高阶函数——map/reduce/filter/sorted
- Python教程学习简记8--Python 高阶函数 map/reduce filter sorted
- 【转】python的内建函数:filter,map,reduce,lambda,sorted等
- Python高阶函数:filter、map、reduce、lambda
- 【Python学习笔记】函数式编程:高阶函数map和reduce