位置: 编程技术 - 正文

Python 中的 else详解(pythonfor else)

编辑:rootadmin

推荐整理分享Python 中的 else详解(pythonfor else),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:else语句python,else语句python,python中else的用法,pythonfor else,python里的else,python中elseif,python中elseif,python中elseif,内容如对您有帮助,希望把文章链接给更多的朋友!

我们都知道 Python 中else的基本用法是在条件控制语句中的 if...elif...else...,但是 else 还有两个其它的用途,一是用于循环的结尾,另一个是用在错误处理的 try 中。这原本是 Python 的标准语法,但由于和大部分其它编程语言的习惯不太一样,致使人们有意或无意地忽略了这些用法。另外,对于这些用法是否符合 0× The Zen of Python 的原则以及该不该广泛使用也存在很多争议。例如在我看到的两本书里(Effective Python VS Write Idiomatic Python),两位作者就分别对其持有截然不同的态度。

循环中的 else

跟在循环后面的 else 语句只有在当循环内没出现 break,也就是正常循环完成时才会执行。首先我们来看一个插入排序法的例子:

在这个例子中,对已排序的 _sorted 元素逐个与 i 进行比较,若 i 比已排序的所有元素都大,则只能排在已排序列表的最后。这时我们就需要一个额外的状态变量 inserted 来标记完成遍历循环还是中途被 break,在这种情况下,我们可以用 else 来取代这一状态变量:

我认为这是一个非常酷的做法!不过要注意的是,除了 break 可以触发后面的 else 语句,没有循环的时候也会:

Python 中的 else详解(pythonfor else)

错误捕捉中的 else

try...except...else...finally 流程控制语法用于捕捉可能出现的异常并进行相应的处理,其中 except 用于捕捉 try 语句中出现的错误;而 else 则用于处理没有出现错误的情况;finally 负责 try 语句的”善后工作“ ,无论如何都会执行。可以通过一个简单的例子来展示:

当然,也可以用状态变量的做法来替代 else:

总结

有人觉得 else 的这些用法违反直觉或者是 implicit 而非 explicit,不值得提倡。但我觉得这种”判决“需要依赖具体的应用场景以及我们对 Python 的理解,并非一定要对新人友好的语法才算是 explicit 的。当然也不推荐在所有地方都使用这个语法,for/while...else 最大的缺点在于 else 是需要与 for/file 对齐的,如果是多层嵌套或者循环体太长的情况,就非常不适合用 else(回忆一下游标卡尺的梗就知道了:P)。只有在一些简短的循环控制语句中,我们通过 else 摆脱一些累赘的状态变量,这才是最 Pythonic 的应用场景!

Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法 本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL、Oracle、SQLServer数据库。其中包括以下几个软件的安装

Python爬虫辅助利器PyQuery模块的安装使用攻略 Windows下的安装:下载地址:

Python简单实现enum功能的方法 本文实例讲述了Python简单实现enum功能的方法。分享给大家供大家参考,具体如下:classEnumerate(object):def__init__(self,names):fornumber,nameinenumerate(names.split()):set

标签: pythonfor else

本文链接地址:https://www.jiuchutong.com/biancheng/386103.html 转载请保留说明!

上一篇:Services 翻译第二集(services的翻译)

下一篇:Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法(linux pythonide)

  • 停车费手撕票如何填写申报表
  • 资金过桥怎么操作
  • 股东借款怎么转为利润分配
  • 商品进销差价属于流动资产吗
  • 民营非营利企业会计分录大全
  • 电子设备残值率的最新规定
  • 红字冲回是负数吗
  • 企业一直亏损但是汇算清缴调增
  • 长期待摊费用可以抵扣吗
  • 应交税费未交增值税借方余额表示什么
  • 已付款货物还未付款
  • 来料加工企业的会计处理问题
  • 城建税和教育费附加计入什么科目
  • 冬虫夏草开票什么税率
  • 2020年安装费的增值税税率是多少
  • 税控盘维护费优惠政策
  • 水利建设专项收入税
  • 税审计入什么科目?
  • 关于税前扣除的规定
  • 域名注册费用的会计分录
  • 筹建期间发生的费用计入哪里
  • w10系统怎么打印文件
  • 包吃伙食费会计分录
  • 总资产收益率什么意思
  • 应收票据的核算账户有哪些
  • php编程入门教程
  • 差额发票可以开1个点吗?
  • php array_splice
  • 电脑输入法无法输入中文怎么办
  • 递延所得税资产账务处理
  • PHP:session_unregister()的用法_Session函数
  • 增值税的计税依据包括消费税吗
  • linux 硬盘满了
  • 简述php操作mysql数据库的基本步骤
  • php二维数组求和
  • 用银行存款支付前欠货款
  • php支付功能
  • php使用自定义函数编程求半径r的圆的周长和面积
  • 小规模纳税人每月申报什么税
  • yolov5 libtorch
  • PHP中set_include_path()函数相关用法分析
  • list删除某个元素 python
  • 成本核算的会计处理
  • 购房发票可以对折吗
  • 深入了解jvm
  • 固定资产清理年末余额怎么处理
  • 发工资是用借记卡还是储蓄卡
  • 建筑企业预缴的增值税怎么抵扣
  • 营业额包括成本价吗
  • 公司注销持股1%的股东需要他签字吗
  • 无法在common files上设置新的所有者
  • 发票领购簿用完了怎么领取
  • 经营范围中没有这个项目开票后果
  • 企业设备融资是什么意思?
  • 补偿性余额实际利率计算公式
  • 税种分类及其税率
  • 个税公司少申报一个月会对个人有什么影响
  • 非税收入定额票据是什么
  • mysql怎么修改用户名和密码
  • freebsd安装pkg
  • win10打开文件夹弹出新窗口
  • 怎么恢复被破坏的文件
  • win10如何删除右键菜单选项
  • window10耳机有电流
  • Win10预览版镜像
  • js定义函数的几种方法
  • perl获取文件名
  • cocos2dx ActionManager播放动画回调问题
  • activate webstorm
  • jquery js区别
  • 怎么查询开票信息呢
  • 专票开出去了多长时间必须打入账户
  • 缴纳个人所得税怎么计算
  • 代收国税地税收入
  • 黑龙江省国家税务局通用定额发票
  • 票据贴现的票据是什么
  • 贵州省地方税务局公告2016年第13号
  • 亚马逊利用大数据练就读心术
  • 国家税务总局绵阳市税务局网站
  • 公司处理固定资产汽车怎么交税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设