
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.需要过滤的序列(可迭代的结构))返回值:过滤后的新序列(可迭代的结构)'''
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月02日 16时49分34秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Qt中的析构函数
2021-05-08
C语言实现dijkstra(adjacence matrix)
2021-05-08
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
2021-05-08
【单片机开发】智能小车工程(经验总结)
2021-05-08
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
2021-05-08
C++&&STL
2021-05-08
微信js-sdk使用简述(分享,扫码功能等)
2021-05-08
c++中ifstream及ofstream超详细说明
2021-05-08
web项目配置
2021-05-08
基于单片机简易信号误差分析设计-全套资料
2021-05-08
基于单片机简易脉搏测量仪系统设计-毕设课设资料
2021-05-08
Javascript中String支持使用正则表达式的四种方法
2021-05-08
eclipse引用sun.misc开头的类
2021-05-08
Servlet2.5的增删改查功能分析与实现------删除功能(四)
2021-05-08
spring启动错误:Could not resolve placeholder
2021-05-08
invalid byte sequence for encoding
2021-05-08
技术美术面试问题整理
2021-05-08
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
2021-05-08
js求阶乘
2021-05-08