码迷,mamicode.com
首页 > 其他好文 > 详细

08-面向过程与函数式

时间:2020-03-26 21:45:08      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:lan   UNC   函数式   比较   最小值   eve   一个   编程范式   扩展   

一、编程范式

编程范式指的是编程的套路,分为面向对象函数式面向对象等等

二、面向过程

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-面向过程与函数式

标签:lan   UNC   函数式   比较   最小值   eve   一个   编程范式   扩展   

原文地址:https://www.cnblogs.com/zhuyouai/p/12577217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!