位置: IT常识 - 正文

python-面向过程与函数式(python面向过程与面向对象的区别)

编辑:rootadmin
面向过程与函数式 面向过程 ”面向过程“核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么......,基于面向过程开发程序就好比在设计一条流水线,是一种机械式的思维方式,这正好契合计算机的运行原理:任何程序的执行最终都需要转换成cpu的指令流水按过程调度执行,即无论采用什么语言、 ... 面向过程与函数式面向过程

推荐整理分享python-面向过程与函数式(python面向过程与面向对象的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python面向过程和面向对象密码设置的区别,python面向过程 登录界面,python面向过程吗,python面向过程的语言,python面向过程和面向对象,python面向过程和面向对象的区别,python面向过程吗,python面向过程和面向对象,内容如对您有帮助,希望把文章链接给更多的朋友!

”面向过程“核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么......,基于面向过程开发程序就好比在设计一条流水线,是一种机械式的思维方式,这正好契合计算机的运行原理:任何程序的执行最终都需要转换成cpu的指令流水按过程调度执行,即无论采用什么语言、无论依据何种编程范式设计出的程序,最终的执行都是过程式的。

1、优点

将复杂的问题流程化,进而简单化

2、缺点

程序的可扩展性极差,

3、应用场景

面向过程的程序设计一般用于那些功能一旦实现之后就很少需要改变的场景, 如果你只是写一些简单的脚本,去做一些一次性任务,用面向过程去实现是极好的,但如果你要处理的任务是复杂的,且需要不断迭代和维护, 那还是用面向对象最为方便。函数式

函数式编程并非用函数编程这么简单,而是将计算机的运算视为数学意义上的运算,比起面向过程,函数式更加注重的是执行结果而非执行的过程,代表语言有:Haskell、Erlang。而python并不是一门函数式编程语言,但是仍为我们提供了很多函数式编程好的特性,如lambda,map,reduce,filter

匿名函数lambdapython-面向过程与函数式(python面向过程与面向对象的区别)

对比使用def关键字创建的是有名字的函数,使用lambda关键字创建则是没有名字的函数,即匿名函数,语法如下

lambda 参数1,参数2,...: expression

案例:

# 1、定义lambda x,y,z:x+y+z#等同于def func(x,y,z): return x+y+z# 2、调用# 方式一:res=(lambda x,y,z:x+y+z)(1,2,3)# 方式二:func=lambda x,y,z:x+y+z # “匿名”的本质就是要没有名字,所以此处为匿名函数指定名字是没有意义的res=func(1,2,3)print(res)

匿名函数与有名函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,所以匿名函数用于临时使用一次的场景,匿名函数通常与其他函数配合使用

案例

salaries={ 'siry':3000, 'tom':7000, 'lili':10000, 'jack':2000}

要想取得薪水的最大值和最小值,我们可以使用内置函数max和min(为了方便开发,python解释器已经为我们定义好了一系列常用的功能,称之为内置的函数,我们只需要拿来使用即可)

print(max(salaries))print(min(salaries))#默认根据字符比较大小"""结果如下"""tomjack

内置max和min都支持迭代器协议,工作原理都是迭代字典,取得是字典的键,因而比较的是键的最大和最小值,而我们想要的是比较值的最大值与最小值,于是做出如下改动

max1=max(salaries,key=lambda k:salaries[k])print(max1)min1=min(salaries,key=lambda k:salaries[k])print(min1)"""结果如下"""lilijack

直接对字典进行排序,默认也是按照字典的键去排序的

print(sorted(salaries))"""结果如下"""['jack', 'lili', 'siry', 'tom']

根据值的最大值与最小值排序

res=sorted(salaries,key=lambda k:salaries[k])print(res)"""结果如下"""['jack', 'siry', 'tom', 'lili']

特点

使用lambda关键字创建函数没有名字的函数匿名函数冒号后面的表达式只有一个,注意:是表达式,而不是语句匿名函数自带return,而这个return的结果是表达式计算后的结果

缺点

lamdba只能是单个表达式:不是一个代码块,lamdba的设计就是为了满足简单的函数场景仅仅能封装有限的逻辑,复杂逻辑实现不了,必须使用def来处理#匿名函数m=lambda x,y:x+y#通过变量去调用匿名函数print(m(23,19))M=lambda a,b,c:a*b*cprint(M(1,2,3))age =15print('可以继续参军,'if age>18 else'继续上学')C=lambda x,y:x if x>y else yprint(C(1,5))re=(lambda x,y:x if x<y else y)(16,12)print(re)Rs=lambda x:(x**2)+890print(Rs(10))map、filter、reduce(了解)l = ['zhoa', 'lisi', 'wangwu ']res = map(lambda name: name + '_dsb', l)print(res) # 生成器res1 = filter(lambda name: name.endswith('u'), l)print(res1)from functools import reduceres3=reduce(lambda x, y: x + y, [1, 2, 3],10)print(res3)"""结果如下"""<map object at 0x0000014D2CDF7E80><filter object at 0x0000014D2CDF7D60>16
本文链接地址:https://www.jiuchutong.com/zhishi/304721.html 转载请保留说明!

上一篇:10分钟用Python编写贪吃蛇小游戏(python编程bim)

下一篇:python中如何获取当前文件的部分信息?(python中如何获取列表中的元素)

  • 美图秀秀怎么平均切片(美图秀秀怎么平铺水印)

    美图秀秀怎么平均切片(美图秀秀怎么平铺水印)

  • vega8核显性能(amd vega8核显)

    vega8核显性能(amd vega8核显)

  • 抖音里面遇到冲突账号怎么办(抖音充值遇到问题怎么办)

    抖音里面遇到冲突账号怎么办(抖音充值遇到问题怎么办)

  • 微信扫二维码出现英文乱码(微信扫二维码出现两个微信名是怎么回事)

    微信扫二维码出现英文乱码(微信扫二维码出现两个微信名是怎么回事)

  • 华为x10什么时候上市(华为p30pro什么时候上市的)

    华为x10什么时候上市(华为p30pro什么时候上市的)

  • qq怎么开启匹配聊天(qq怎么开启匹配好友)

    qq怎么开启匹配聊天(qq怎么开启匹配好友)

  • 华为nova7se怎么调24小时(华为nova7se怎么看电池寿命)

    华为nova7se怎么调24小时(华为nova7se怎么看电池寿命)

  • 微信怎么通过手机号加好友(微信怎么通过手机号直接转账)

    微信怎么通过手机号加好友(微信怎么通过手机号直接转账)

  • TCL是什么

    TCL是什么

  • 路由器后面的灯一直闪是什么原因(路由器后面的灯一直亮着不闪)

    路由器后面的灯一直闪是什么原因(路由器后面的灯一直亮着不闪)

  • 华为电源键失灵怎么办(华为电源键失灵怎么重启手机)

    华为电源键失灵怎么办(华为电源键失灵怎么重启手机)

  • cmcc开头的wifi能蹭吗(cmcc开头的wifi能用吗)

    cmcc开头的wifi能蹭吗(cmcc开头的wifi能用吗)

  • 苹果三包服务包括什么(苹果三包包括什么)

    苹果三包服务包括什么(苹果三包包括什么)

  • 大黑点怎么打出来(黑点怎么打出来快捷键)

    大黑点怎么打出来(黑点怎么打出来快捷键)

  • wps怎么设置多个触发器(wps怎么设置多个窗口打开多个文件)

    wps怎么设置多个触发器(wps怎么设置多个窗口打开多个文件)

  • iphone11pro怎么设置墙纸(iphone11pro怎么设置微信加密)

    iphone11pro怎么设置墙纸(iphone11pro怎么设置微信加密)

  • mate30pro是否可转接U盾(华为mate30pro可以换成鸿蒙系统么)

    mate30pro是否可转接U盾(华为mate30pro可以换成鸿蒙系统么)

  • 京东账号忘了怎么办(京东账号忘了怎么找回换手机号了)

    京东账号忘了怎么办(京东账号忘了怎么找回换手机号了)

  • 华为mate20手机尺寸(华为mate20机身尺寸)

    华为mate20手机尺寸(华为mate20机身尺寸)

  • 京东已评价怎么删除(京东已评价怎么修改)

    京东已评价怎么删除(京东已评价怎么修改)

  • 手机锁了怎么解锁(手机锁了怎么解锁苹果)

    手机锁了怎么解锁(手机锁了怎么解锁苹果)

  • 手机元屏是原装屏吗(手机元屏是原装的吗)

    手机元屏是原装屏吗(手机元屏是原装的吗)

  • 打印机上的连接线插哪(打印机上的连接头是什么样的)

    打印机上的连接线插哪(打印机上的连接头是什么样的)

  • 抖音互相关注什么意思(抖音互相关注什么意思呀)

    抖音互相关注什么意思(抖音互相关注什么意思呀)

  • 华为m6能打电话吗(华为m6打电话话筒在哪)

    华为m6能打电话吗(华为m6打电话话筒在哪)

  • 如何看苹果是否在快充(如何看苹果是否原装屏幕)

    如何看苹果是否在快充(如何看苹果是否原装屏幕)

  • QQ被永久封停如何办(qq被永久封停如何注销)

    QQ被永久封停如何办(qq被永久封停如何注销)

  • Vue 项目如何迁移小程序(怎么把vue项目跑起来)

    Vue 项目如何迁移小程序(怎么把vue项目跑起来)

  • etc开增值税票税率
  • 税务机关内部控制措施
  • 新公司和旧公司对比
  • 利润表年度报表
  • 佣金开什么发票
  • 其他债权投资和其他权益工具投资均可以计提减值
  • 土地增值税清算规程实施细则
  • 销售折让会影响单价吗
  • 进项抵欠税相关政策
  • 管理费抵扣如何计算
  • 私募基金款打到什么账户
  • 制造行业运输费包括哪些
  • 劳动合同的主要条款
  • 提供部分原料的英文
  • 变更公司名称注册时间会变吗
  • 甲供材料工程如何办理结算
  • 核定征收小微企业
  • 纳税人如何办理纳税申报
  • 免税个体户发票税率多少
  • 汇票和本票之间在使用上有什么差别
  • 城市地下建设
  • 借款利息资本化条件
  • 9个点的税率有哪些
  • win11打开设置
  • 如何玩转win11
  • 汇算清缴是哪个报表
  • php中session的作用
  • 商业一般纳税人辅导期截止时间
  • 电脑右下角的小三角怎么弄出来
  • 长期债券投资减少是计入贷方吗?
  • typora如何设置字体颜色
  • 如何办理车辆购置证变更手续
  • 微信小程序分包加载
  • 政府补贴款计入什么科目是否纳税
  • 房改转移什么意思
  • La Selva生物站热带雨林树冠上的黑嘴巨嘴鸟,哥斯达黎加 (© Greg Basco/Minden Pictures)
  • js进阶视频教程
  • 人工智能答案
  • nginx跨域配置详解
  • 在建工程减值准备是否可以转回
  • 包装物押金属于应税货物吗
  • 通用定额发票能当餐饮发票报销吗
  • phpcms怎么用
  • 生产设备的折旧分录
  • 资产减值损失如何计算
  • 库存现金怎么算
  • 一般纳税人外地预缴税率
  • 政府会计资产处置费用科目
  • 如何降低未分配利润的方法
  • 不动产登记流程有哪些
  • 公司注销未认证怎么处理
  • 分红做什么会计分录
  • 所有者权益类期末贷方余额公式
  • 股东每月分红合理吗?
  • 注册资本金印花税税率是2.5还是5
  • 免征印花税的6个项目
  • 应付票据贴现借款
  • Win10 64位正式版系统安装方法全过程图解(U大师)
  • spyagent4.exe - spyagent4是什么进程
  • win7电脑能登qq但打不开网页怎么办
  • linux中sed命令
  • wow血条插件
  • 在bootstrap中,有哪几种导航
  • 批处理修改文件修改日期
  • cocos2dx怎么用
  • 动作
  • jquery动态设置css
  • jquery+ajax实现注册实时验证实例详解
  • jquery 设置背景色
  • 详解金球奖之争
  • js中new操作符工作原理
  • android零基础入门教程
  • js为什么不能用var定义变量
  • 1.6排量算大吗
  • 浙江省医保改革方案2022
  • 南京电子税务局咨询电话
  • 河北省电子税务局电话
  • 长沙个体户怎么给员工交社保
  • 税局退回多交的增值税的账务处理
  • 北京鼓楼医院网上挂号app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设