Python常见内置高阶函数有哪些
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关Python常见内置高阶函数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.什么是高阶函数?高阶函数:一个函数可以作为参数传给另外一个函数
千家信息网最后更新 2025年01月19日Python常见内置高阶函数有哪些1.什么是高阶函数?
2.高阶函数-map、filter、reduce
2.1map函数
2.2filter函数
2.3reduce函数
这篇文章给大家分享的是有关Python常见内置高阶函数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1.什么是高阶函数?
高阶函数:一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数。
参数为函数:
#参数为函数def bar(): print("in the bar..")def foo(func): func() print("in the foo..")foo(bar)
返回值为函数:
#返回值为函数def bar(): print("in the bar..")def foo(func): print("in the foo..") return barres=foo(bar)res()
以上两个示例中,函数foo()
为高阶函数,示例一中函数bar作为foo的参数传入,示例二中函数bar作为foo的返回值。
注:函数名(例如bar 、foo)-->其为该函数的内存地址;函数名+括号(例如 bar()、foo() )-->调用该函数。
2.高阶函数-map、filter、reduce
这三个函数均为高阶函数,其也为Python内置的函数。接下来我们看一下这三个函数的用法以及其内部原理是怎样的:
2.1map函数
map函数接收的是两个参数,一个函数,一个序列,其功能是将序列中的值处理再依次返回至列表内。其返回值为一个迭代器对象--》例如: 。
其用法如图:
接下来我们看一下map函数的机制是怎么样的:
num=[1,2,3,4,5]def square(x): return x**2#map函数模拟def map_test(func,iter): num_1=[] for i in iter: ret=func(i) # print(ret) num_1.append(ret) return num_1.__iter__() #将列表转为迭代器对象#map_test函数print(list(map_test(square,num)))#map函数print(list(map(square,num)))#当然map函数的参数1也可以是匿名函数、参数2也可以是字符串print(list(map_test(lambda x:x.upper(),"amanda")))print(list(map(lambda x:x.upper(),"amanda")))
2.2filter函数
filter函数也是接收一个函数和一个序列的高阶函数,其主要功能是过滤。其返回值也是迭代器对象,例如:
其图示如下:
接下来我们看一下filter函数的用法以及其机制是怎么样的:
names=["Alex","amanda","xiaowu"]#filter函数机制def filter_test(func,iter): names_1=[] for i in iter: if func(i): #传入的func函数其结果必须为bool值,才有意义 names_1.append(i) return names_1#filter_test函数print(filter_test(lambda x:x.islower(),names))#filter函数print(list(filter(lambda x:x.islower(),names)))
2.3reduce函数
reduce
函数也是一个参数为函数,一个为可迭代对象的高阶函数,其返回值为一个值而不是迭代器对象,故其常用与叠加、叠乘等,
图示例如下:
实例如下:
#reduce函数不是内置函数,而是在模块functools中的函数,故需要导入from functools import reducenums=[1,2,3,4,5,6]#reduce函数的机制def reduce_test(func,array,ini=None): #ini作为基数 if ini == None: ret =array.pop(0) else: ret=ini for i in array: ret=func(ret,i) return ret#reduce_test函数,叠乘print(reduce_test(lambda x,y:x*y,nums,100))#reduce函数,叠乘print(reduce(lambda x,y:x*y,nums,100))
感谢各位的阅读!关于"Python常见内置高阶函数有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
函数
高阶
参数
对象
迭代
机制
接下来
序列
示例
常见
三个
两个
内容
功能
更多
篇文章
不错
实用
内存
原理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
双非网络安全专业考研推荐学校
最强蜗牛怎么连接不上服务器了
软件开发的自动化
c4网络技术挑战赛需要学什么
剑网三服务器角色上限
网络技术教学培训总结
数据库怎么改属性值
小刀网络技术
数据库事务的遵循原则
服务器游戏不能安装怎么办
2020新网络安全法心得
宁夏服务器虚拟化解决方案
2018网络技术大赛
中邮软件开发
竞技世界北京网络技术公司
CSL网络安全的全称
巨杉数据库最新进展
软件开发资金分配问题
目前数据库技术主流的数据模型
服务器半导体研究报告
互联网科技直男
网络安全家长会议程
北京网络安全大会8月
尹毅网络安全
江西共青团网络安全教育课
网络和软件开发哪个更有前途
数据处理用什么软件开发
济宁学院数据库期末考试
计算机网络技术有限论文
如何查看央行数据库公开数据