函数式编程 & Python中的高阶函数map reduce filter 和sorted
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程 & Python中的高阶函数map reduce filter 和sorted相关的知识,希望对你有一定的参考价值。
1. 函数式编程
1)概念
函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。wiki
我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型。在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成术语,我们把他叫做高阶函数。飞林沙
2)特点
- 计算视为视为函数而非指令
- 纯函数式编程:不需变量,无副作用,测试简单(每次的执行结果是一样的)
- 支持高阶函数,代码简洁
2. python支持函数式编程
- 不是纯函数式编程:允许有变量
- 支持高阶函数:函数也可以作为参数(变量)传入
- 支持闭包:有了闭包就能返回函数
- 有限度的支持匿名函数
3. python中的高阶函数
1)自定义高阶函数(函数作为参数)
import math def add(x, y, f): return f(x) + f(y) print add(25, 9, math.sqrt)
2)内置高阶函数
- map函数
格式:map(f, lst)
f为函数名称,可以是内置函数,也可以是自定义的函数
lst为待处理的序列,类型可以是list,tuple 以及 string等,序列就可以
功能:lst中的每个元素执行f函数的操作
例如:假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:输入:[‘adam‘, ‘LISA‘, ‘barT‘] 输出:[‘Adam‘, ‘Lisa‘, ‘Bart‘]
def format_name(s): return s[0].upper()+s[1:].lower() print map(format_name, [‘adam‘, ‘LISA‘, ‘barT‘])
以上是关于函数式编程 & Python中的高阶函数map reduce filter 和sorted的主要内容,如果未能解决你的问题,请参考以下文章