08-面向过程与函数式
Posted zhuyouai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08-面向过程与函数式相关的知识,希望对你有一定的参考价值。
一、编程范式
编程范式指的是编程的套路,分为面向对象、函数式、面向对象等等
二、面向过程
1.面向过程的基本概念
面向的核心在于过程,过程指的是解决问题的步骤,即先干什么,后干什么
面向过程的开发程序就好比涉及一条流水线,是一种机械的思维方式
优点:将复杂的问题流程化,进而简单化
缺点:程序的可扩展性差
2.面向过程的编程思维应用场景解析
- 不是所有的软件都需要频繁更迭,比如编写脚本
- 即便是一个软件需要频繁更迭,也不并不代表这个软件所有的组成部分都需要一起更迭
三、函数式
跟面向过程不同的是,函数式更加注重结果
1.匿名函数
def用于定义有名函数
# 示例
def func(x,y)
return x + y
既然有了有名函数,当然就有匿名函数,用于定义匿名函数的lambda
lambda x,y:x + y # 相当于上述的func函数
# lambda x,y:x + y 此处的(x,y)为入口参数,x + y则为函数体
lambda函数简化了函数定义的书写形式,使得代码更加简洁,但使用函数定义显得更加直观,易于理解
匿名函数用于临时调用一次场景:更多的是将匿名与其他函数配合使用
2.匿名函数的应用
1)map函数
map()函数会根据提供的函数对指定序列做映射
语法
map(function,iterable,...)
参数
- function-函数
- iterable-一个或多个序列
返回值
迭代器(python3)
列表(python2)
2)filter函数
filter()函数用于过滤序列,过滤掉不符合的元素,返回一个迭代器对象
语法
filter(function,iterable)
参数
- function — 判断函数
- iterable — 可迭代对象
返回值
迭代器对象
3)reduce函数
reduce()函数会对参数序列中元素进行累积
语法
reduce(function,iterable,[initializer])
参数
- function-函数,有两个参数
- iterable-可迭代对象
- initializer-可选,初始参数
返回值
函数的计算结果
4)max函数
max()函数返回给定参数的最大值,参数可为序列
语法
max(x,y,z,...)
参数
- x —— 数值表达式
- y —— 数值表达式
- z —— 数指表达式
返回值
给定参数的最大值
5)min函数
min()函数与max()函数不同的是,它返回给定参数的最小值,参数可为序列
语法
max(x,y,z,...)
参数
- x —— 数值表达式
- y —— 数值表达式
- z —— 数指表达式
返回值
给定参数的最小值
6)sorted函数
sorted()函数对所有可迭代的对象进行排序操作
语法
# 语法
sorted(iterable,key = None,reverse = False)
# iterable —— 可迭代对象
# key —— 主要用来比较的元素,只有一个参数,参数取自可迭代对象中
# reverse —— 排序规则,True为降序,False为升序(默认)
参数
- iterable —— 可迭代对象
- key —— 主要用来比较的元素,只有一个参数,参数取自可迭代对象中
- reverse —— 排序规则,True为降序,False为升序(默认)
返回值
重新排序的列表
以上是关于08-面向过程与函数式的主要内容,如果未能解决你的问题,请参考以下文章