首页 > 代码库 > 函数式编程 & Python中的高阶函数map reduce filter 和sorted
函数式编程 & 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。