Python常见内置高阶函数有哪些
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章给大家分享的是有关Python常见内置高阶函数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.什么是高阶函数?高阶函数:一个函数可以作为参数传给另外一个函数
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
企业服务器管理实训内容
网络安全mod怎么算
有哪些好的网络安全学习资源
信息网络安全监察大专
学习计算机与网络安全目标是什么
数据库npi什么意思
新寻仙怀旧版是什么服务器
成都正火软件开发有限公司
网络安全对国家经济的影响
7979服务器
奇酷互联网络科技深圳电话
艾尔登法环连上服务器
厦门亿联网络技术客服
数据库提示命名管道错误
北邮网络技术夏令营
kak网络安全
肇庆聊天软件开发
关于网络安全班会总结报告
福州闽投优创网络技术有限公司
国际服最流畅服务器
心花怒放网络技术公司
奔驰wis如何升级数据库
衢州海猪网络技术有限公司
软件开发 demo
域管理服务器名称
服务器出现异常请重装系统
数据库技术发展阶段
oracle 数据库技术
金山区辅助软件开发报价表
mysql统计数据库表数