加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python函数式编程

发布时间:2020-12-20 12:48:54 所属栏目:Python 来源:网络整理
导读:高阶函数 高阶函数:能接收函数做参数的函数 变量可以指向函数 函数的参数可以接受变量 一个函数可以接受另一个函数作为参数 能接受函数做参数的函数就是高阶函数 python把函数作为参数 一个简单的高阶函数: def add(x,y,f): return f(x) + f(y) 如果传入ab

高阶函数

高阶函数:能接收函数做参数的函数

变量可以指向函数

函数的参数可以接受变量

一个函数可以接受另一个函数作为参数

能接受函数做参数的函数就是高阶函数

python把函数作为参数

一个简单的高阶函数:

def add(x,y,f):
    return f(x) + f(y)

如果传入abs作为参数f的值:

add(-5,9,abs)

根据函数的定义,函数执行的代码实际上是:

abs(-5) + abs(9)

由于参数 x,y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同的返回值。

python中map()函数

map()是 Python 内置的高阶函数,它接收一个函数 f?和一个?list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

例如,对于list [1,2,3,4,5,6,7,8,9]

如果希望把list的每个元素都作平方,就可以用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):
    return x*x
print map(f,[1,9])

输出结果:

[1,10,25,36,49,64,81]

注意:map()函数不改变原有的 list,而是返回一个新的 list。

利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读