python高阶函数(三分钟读懂)
发布日期:2021-05-07 09:22:45 浏览次数:23 分类:精选文章

本文共 1273 字,大约阅读时间需要 4 分钟。

python高阶函数(三分钟读懂)

函数式编程

Python中,函数是一等对象
一等对象:具有特点
① 对象是在运行时创建的
② 能赋值给变量或作为数据结构中的元素
③ 能作为参数传递
④ 能作为返回值返回
高阶函数
(符合一个即可)
① 接收一个或多个函数作为参数
② 将函数作为返回值返回

例一:

高阶函数(符合一个即可)      ① 接收一个或多个函数作为参数      ② 将函数作为返回值返回
a = [1,2,3,4,5,6,7,8,9,10]def fn2(i) :# 整除2的函数(方法)    if i % 2 == 0 :        return True    return Falsedef fn3(i):# 整除3的函数(方法)    if i % 3 == 0:        return True        return False# fn()函数可以将指定列表中的所有偶数获取出来,并保存到一个新列表中返回def fn(fnx , ls) :    new_list = [] # 创建一个新列表    for n in ls : # 对列表进行筛选        if fnx(n) : # 添加到新列表中            new_list.append(n)    return new_listprint(fn(fn2,a)) # 得到的结果为 [2, 4, 6, 8, 10]# 当我们使用一个函数作为参数时,实际上是将指定的代码传递进了目标函数

例二:

高阶函数(符合一个即可)      ① 接收一个或多个函数作为参数      ② 将函数作为返回值返回
a = [1,2,3,4,5,6,7,8,9,10]def fn2(i) :# 整除2的函数(方法)    if i % 2 == 0 :        return True    return Falseb = filter(fn2, a)print(b)                   # 得到的结果为
这是一个可迭代的对象print(list(b)) # 得到的结果为[2, 4, 6, 8, 10] 转换之后才可以看到print(filter(fn2, a)) # 得到的结果为
这是一个可迭代的对象print(list(filter(fn2, a)))# 得到的结果为[2, 4, 6, 8, 10] 转换之后才可以看到# fn2是作为参数传递进filter()函数中# 而fn2实际上只有一个作用,就是作为filter()的参数'''关于filter的说明filter()filter()可以从序列中过滤出符合条件的元素,保存到一个新的序列中参数:(1.函数,根据该函数来过滤序列(可迭代的结构),2.需要过滤的序列(可迭代的结构))返回值:过滤后的新序列(可迭代的结构)'''
上一篇:高阶函数-语法糖-lambda(三分钟读懂)
下一篇:python递归(一分钟读懂)

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月02日 16时49分34秒