位置: 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中如何获取列表中的元素)

  • iphone激活后如何从旧设备迁移(iPhone激活后如何传输)

    iphone激活后如何从旧设备迁移(iPhone激活后如何传输)

  • 红米k40支持wifi6么(红米k40支持wifi几)

    红米k40支持wifi6么(红米k40支持wifi几)

  • 淘宝号违规了能恢复吗(淘宝号违规了多久能消除)

    淘宝号违规了能恢复吗(淘宝号违规了多久能消除)

  • 幻灯片放映类型(幻灯片放映类型在哪里设置)

    幻灯片放映类型(幻灯片放映类型在哪里设置)

  • 手机卡可以换归属地吗(手机卡换归属地换了可以注销吗)

    手机卡可以换归属地吗(手机卡换归属地换了可以注销吗)

  • 抖音后台会显示在线吗(抖音后台会显示在线多久)

    抖音后台会显示在线吗(抖音后台会显示在线多久)

  • 怎么给手机设定密码(怎么给手机设定每天固定使用时间)

    怎么给手机设定密码(怎么给手机设定每天固定使用时间)

  • 宽带运营商是什么(宽带运营商和手机运营商不一样)

    宽带运营商是什么(宽带运营商和手机运营商不一样)

  • ups主机是什么(ups是什么机器)

    ups主机是什么(ups是什么机器)

  • 滴滴车主刷脸一天几次(滴滴刷脸过不了怎么办?)

    滴滴车主刷脸一天几次(滴滴刷脸过不了怎么办?)

  • 小米手机恢复出厂设置系统会还原吗(小米手机恢复出厂设置后小米账号还会有吗)

    小米手机恢复出厂设置系统会还原吗(小米手机恢复出厂设置后小米账号还会有吗)

  • 苹果x手机浮点怎么设置(苹果手机屏幕上的浮点怎么打开了)

    苹果x手机浮点怎么设置(苹果手机屏幕上的浮点怎么打开了)

  • 淘宝新人红包怎么使用(淘宝新人红包怎么关闭)

    淘宝新人红包怎么使用(淘宝新人红包怎么关闭)

  • 苹果11关不了机是怎么回事(苹果11关不了机了怎么弄)

    苹果11关不了机是怎么回事(苹果11关不了机了怎么弄)

  • 如何关闭小米上滑搜索(如何关闭小米上网服务)

    如何关闭小米上滑搜索(如何关闭小米上网服务)

  • 如何查询etc是否激活(如何查询ETC是否解除黑名单)

    如何查询etc是否激活(如何查询ETC是否解除黑名单)

  • 小米电脑键盘锁快捷键(小米电脑键盘锁住了打不了字)

    小米电脑键盘锁快捷键(小米电脑键盘锁住了打不了字)

  • 手机一直正在搜索怎么回事(手机一直正在搜索网络怎么办)

    手机一直正在搜索怎么回事(手机一直正在搜索网络怎么办)

  • 通讯的结构(新闻通讯的结构)

    通讯的结构(新闻通讯的结构)

  • 叨叨记账怎么打字聊天(叨叨记账打赏)

    叨叨记账怎么打字聊天(叨叨记账打赏)

  • airpods可以连华为吗(airpods可以连华为mate30吗)

    airpods可以连华为吗(airpods可以连华为mate30吗)

  • x27ai键有什么用(vivox27ai键怎么用)

    x27ai键有什么用(vivox27ai键怎么用)

  • Mysql如何实现事务隔离(mysql事件使用方法)

    Mysql如何实现事务隔离(mysql事件使用方法)

  • phpcms评论功能怎么用(phpcms api)

    phpcms评论功能怎么用(phpcms api)

  • 建筑业增值税税额怎么算
  • 增值税附加税减免
  • 软件企业会计科目分类
  • 增值税税率调整文件
  • 应收款为负数怎么做分录
  • 分红免征企业所得税
  • 上年度职工月平均工资是税前还是税后
  • 会计账簿 扉页
  • 员工缴纳的工会会费可以税前扣除吗
  • 纳税申报一般什么时候
  • 增值税普通发票需要交税吗
  • 微信支付有优惠 系统异常
  • 发票一直显示报送中怎么处理
  • 高管怎么样
  • 出口分为哪四步
  • 预收房屋租金如何交房产税
  • 中药材免税还能抵扣收购发票
  • 消费税应纳税额计算方法是什么有何特点
  • 加计抵减怎么做账务处理小企业会计准则
  • 跨年度冲减收入
  • 辞退补偿入账
  • php替换指定内容
  • 返利给客户的账务处理
  • 在Mac OS Yosemite 系统中如何发送超大邮件附件
  • php怎么转换
  • 公司出租房屋租赁发票税率
  • 公司向股东借款多久必须归还
  • 补缴税款可以分期缴纳吗
  • 无进项开发票
  • thinkphp d
  • php生成证书图片
  • urljoin使用
  • 固定资产计提折旧的方法
  • 小微企业所得额如何计算
  • 企业的应交税金一般通过什么科目核算
  • 公司让员工提前离职,可以结清工资吗
  • 年终奖是以工资形式发放吗
  • 税金及附加包括哪些
  • phpcms怎么用
  • 产品管理部门职责
  • 个税申报怎样作废
  • 收缩数据库日志文件对数据有影响吗
  • 税前弥补以前年度亏损对递延所得税影响
  • 企业设立账簿
  • 烟叶税计算时价格怎么算
  • 纳税人缴纳的税款叫做什么
  • 购买金税盘抵税会计分录
  • 个体工商户实收资本可以填0吗
  • 现金余额出现负数的原因
  • 以银行存款支付固定资产修理费
  • 坏账准备的计提分录
  • 一般纳税人开劳务费的税率是多少
  • 价税合计怎么求税额
  • 固定资产处置的会计科目
  • SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
  • linux 解压.z
  • linux网络管理及应用
  • xp系统登陆界面切换用户
  • centos安装问题
  • win7系统咋样
  • 盗版xp黑屏的解决办法
  • msvcmm32.exe - msvcmm32是什么进程 有什么用
  • w10开机欢迎界面设置
  • unity控制
  • 安卓微信5.0版本下载
  • 创建表格在哪里找
  • eclipse cocos2dx Couldn't load cocos2dcpp from loader
  • cocos2dx quick lua 学习笔记1
  • uiview继承哪个类
  • python 生成器send
  • js设计模型
  • android 自定义dialog
  • java 把对象存到数据库
  • Python中的def
  • 苏州税务ukey客服电话
  • 携程怎么订
  • 怎么用发票号码查询商品
  • 青岛工商全程电子化
  • 我们是小规模纳税人,有个人所得税代扣代缴的业务吗
  • 津补贴怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设