首页 / PYTHON / python之路(4)函数式编程
python之路(4)函数式编程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python之路(4)函数式编程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1382字,纯文字阅读大概需要2分钟。
内容图文
![python之路(4)函数式编程](/upload/InfoBanner/zyjiaocheng/853/362dd1a6417e4cf398c8a050eafb37e5.jpg)
前言
函数式编程不用变量保存状态,不改变变量
内置函数
高阶函数
- 把函数当作参数传给另一个对象
- 返回值中包含函数
使用的场景演示:
num_test = [1,2,10,5,8,7]
客户说 :对上述列表中的每个值都进行平方操作
我说:这个简单。
方案一:
ret=[] for i in num_test: ret.append(i**2) print(ret)
客户说 :我这几万个列表,都给我来一次上面的操作
我说:.......这个没问题
多个列表,为了避免写重复代码,应该封装在一个函数里,因此
方案二:
def num_t(array): ret=[] for i in num_test: ret.append(i**2) return ret
客户说:又来几万个列表,给我每个值都给我自增1
我想 :......mmp,这货没完了,要是以后又这么不靠谱,又来啥需求的,得有个最终方案了
单独写功能函数,在将功能封装到函数里
方案三:
def reduce_one(x): return x-1 def mult_two(x): return x**2 def num_t(func,array): ret=[] for i in num_test: res = func(i)#调用传入的方法 ret.append(res) return ret print(reduce_one,num_test)
客户 :给你加薪啊!
方案四:(加入匿名函数)
def num_t(func,array): ret=[] for i in num_test: res = func(i)#调用传入的方法 ret.append(res) return ret print(num_t(lambda x:x*2,num_test))
方案五:(map函数)
map(lambda x:x*2,num_test)
内置函数
map()
msg='qweasdasdqwe' map(lambda x:x.upper(),msg)
#转换大写
fliter()
peop = ['chen','_liu','huan','_de'] filter(lambda n:not n.startswith('_'),peop)
#过滤第一个为"_"的字符串
reduce()
from functools import reduce #导入模块 num_l=[1,2,3,100] print(reduce(lambda x,y:x+y,num_l))
#合并操作
内容总结
以上是互联网集市为您收集整理的python之路(4)函数式编程全部内容,希望文章能够帮你解决python之路(4)函数式编程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。