iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中关于for else的特殊特性举例分析
  • 605
分享到

python中关于for else的特殊特性举例分析

2023-06-25 16:06:16 605人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python中关于for else的特殊特性举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中关于for else的特殊特性举例分析”吧!不管我们使用哪种编程

本篇内容主要讲解“python中关于for else的特殊特性举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python中关于for else的特殊特性举例分析”吧!

    不管我们使用哪种编程语言,我们都会写"if-else"语句,但是"for-else"怎么样呢?

    对于许多语言,例如 c、 c + + 和 Java,如果在循环之后使用"else",那是完全错误的。然而,Python 作为一种优雅的语言,有这种奇怪但有用的特性。如果我们正确地使用它,我们的代码将变得更加整洁。

    For-Else 特性的基础知识

    当 Python 开发人员第一次遇到"for-else"特性时,它看起来很奇怪,很难理解。但事实上,它的用法出人意料地简单。一句话就足以解释这个问题:只有在循环中没有中断时,才会执行" else"块。

    太简单以至于不真实? 让我们用一个例子来检验一下:

    leaders = ["Elon", "Tim", "Warren"]for i in leaders:    if i == "Yang":        print("Yang is a leader!")        breakelse:    print("Not found Yang!")# Not found Yang!

    如上所示,列表 leaders 不包含“Yang”,因此 for 循环中没有中断。因此,"else"块执行并打印信息。

    如果列表 leaders 中包括"Yang",将会发生什么?

    leaders = ["Yang", "Elon", "Tim", "Warren"]for i in leaders:    if i == "Yang":        print("Yang is a leader!")        breakelse:    print("Not found Yang!")# Yang is a leader!

    如上所示,由于“Yang”位于 leaders 列表中,因此 for 循环被打破,而“else”块没有执行。

    简而言之,for-else 特性并不难理解,但是正确而熟练地使用它并不容易。

    使用 For-Else 特性的三个场景

    我们不一定要在 Python 程序中使用 for-else 特性。说实话,没有它我们也可以做同样的事情,但是使用它可以使我们的代码更优雅。

    1. 迭代并查找没有标志变量的项

    通过迭代列表来查找特定项是使用循环的基本方案。通常,当我们找到项目时,继续迭代是没有意义的,我们需要打破循环。问题是: 我们如何知道这个项是否被找到?

    传统的解决方案是定义一个“ flag”变量,并在找到特定项时将其设置为 True。

    leaders = ["Yang", "Elon", "Tim", "Warren"]have_yang = Falsefor i in leaders:    if i == "Yang":        have_yang = True        # Do something        breakif have_yang == False: # no yang    ...  # Do others

    这个方法已经足够好了,但是如果你想充分利用 Python 的优点。使用 for-else 特性是另一种选择:

    leaders = ["Yang", "Elon", "Tim", "Warren"]for i in leaders:    if i == "Yang":        have_yang = True        # Do something        breakelse:  # no yang    ...  # Do others

    更加简单方便吧~

    2. 帮助打破嵌套循环

    当存在嵌套循环时,for-else 特性也可以提供帮助。

    for i in range(5):    for j in range(5):        if j == 2 and i == 0:            break    if not (j == 2 and i == 0):        continue    break

    如上所示,打破嵌套循环有点困难,因为我们必须知道内部循环是否被打破。

    上面的代码显示了一个笨拙的解决方案,用于确定内部循环是否已经破坏。它当然可以工作,但是我们可以通过 for-else 特性使它更加整洁:

    # use the for-else syntaxfor i in range(5):    for j in range(5):        if j == 2 and i == 0:            break    else:  # only execute when it's no break in the inner loop        continue    break

    3. 帮助处理异常

    异常处理对于编程非常重要,如果我们正确地使用 for-else 特性,它也会很有帮助。例如:

    nums = [1, 3, 0, 5]for denominator in nums:    try:        20/denominator    except ZeroDivisionError:        breakelse:  # no found ZeroDivisionError    ...  # Do others

    如上所示,如果 for 循环中没有 ZeroDivisionError,我们可以在“ else”块中执行相应的操作。

    到此,相信大家对“python中关于for else的特殊特性举例分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: python中关于for else的特殊特性举例分析

    本文链接: https://www.lsjlt.com/news/305999.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • python中关于for else的特殊特性举例分析
      本篇内容主要讲解“python中关于for else的特殊特性举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中关于for else的特殊特性举例分析”吧!不管我们使用哪种编程...
      99+
      2023-06-25
    • python入门学习关于for else的特殊特性讲解
      目录For-Else 特性的基础知识使用 For-Else 特性的三个场景1. 迭代并查找没有标志变量的项2. 帮助打破嵌套循环3. 帮助处理异常总结不管我们使用哪种编程语言,我们都...
      99+
      2024-04-02
    • Python特性问题举例分析
      本篇内容主要讲解“Python特性问题举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python特性问题举例分析”吧!仔细分析一下,这2个参数中,有1个Python 特性是在reques...
      99+
      2023-06-17
    • ADO.NET特性举例分析
      本篇内容介绍了“ADO.NET特性举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mysql安装好以后,点属性,然后点查找目标,点向上...
      99+
      2023-06-17
    • Python特殊方法的示例分析
      小编给大家分享一下Python特殊方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!运算符无关特殊方法运算符相关特殊方法以上是“Python特殊方法的示...
      99+
      2023-06-14
    • vuex中特殊应用的示例分析
      这篇文章主要介绍了vuex中特殊应用的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。有需求才会有应用!需求:vue项目中,我需要一个...
      99+
      2024-04-02
    • JavaScript特殊知识的示例分析
      这篇文章主要介绍JavaScript特殊知识的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.  Function.prototype 竟然是个函数类型。而自定义...
      99+
      2024-04-02
    • php中特殊运算符的示例分析
      这篇文章将为大家详细讲解有关php中特殊运算符的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。三元运算符 ? :格式:表达式1  表达式2 : 表达式3;如...
      99+
      2023-06-14
    • CSS中继承性,特殊性,层叠性和重要性的示例分析
      这篇文章主要介绍CSS中继承性,特殊性,层叠性和重要性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 继承性CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种...
      99+
      2024-04-02
    • Shell编程中特殊变量的示例分析
      这篇文章给大家分享的是有关Shell编程中特殊变量的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。$0 $# $n-->$[1..9] $* $@在shell中存在着一些特殊而又重要的变如:$1 $...
      99+
      2023-06-09
    • Python 3.9.0新特性实例分析
      这篇文章主要介绍“Python 3.9.0新特性实例分析”,在日常操作中,相信很多人在Python 3.9.0新特性实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python 3.9.0新特性实例分析...
      99+
      2023-06-27
    • 关于element ui 表格中的常见特殊属性说明
      目录1,表格内容太多用…表示2,修改element ui自带的样式3,修改奇数行背景色4,给表头添加背景色及文字样式5,表头文字竖向排列(文字带括号)6,表头边框与文本...
      99+
      2022-11-13
      element ui 表格 表格常见特殊属性 element ui表格特殊属性
    • css3中新特性的示例分析
      这篇文章主要为大家展示了“css3中新特性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css3中新特性的示例分析”这篇文章吧。css3被拆分成如下的...
      99+
      2024-04-02
    • JavaScript特性的示例分析
      小编给大家分享一下JavaScript特性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、逗号运算符, 是用于分隔表...
      99+
      2024-04-02
    • C#中属性和特性的示例分析
      这篇文章主要介绍C#中属性和特性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先要说的是,可能一些刚接触C#的朋友常常容易把属性(Property)跟特性(Attribute)弄混淆,其实这是两种不同的东...
      99+
      2023-06-17
    • Linux中特殊权限SUID SGID和SBIT的示例分析
      这篇文章主要介绍Linux中特殊权限SUID SGID和SBIT的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、SUID,就重要的作用就是让其它用户在执行这个授有SUID的程序时拥有该程序拥有者的权限。就...
      99+
      2023-06-12
    • python 关于高级特性的问题
        1.函数装饰器有什么作用请列举说明  2. Python 垃圾回收机制  3. 魔法函数 _call_怎么使用  4. 如何判断一个对象是函数还是方法  5. @classmethod 和 @staticmethod 用法和区别  6....
      99+
      2023-01-31
      特性 高级 python
    • Linux中终端特殊设备文件的示例分析
      这篇文章主要介绍Linux中终端特殊设备文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Tele...
      99+
      2023-06-12
    • Vue3中teleport新特性的示例分析
      Vue3中teleport新特性的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Vue鼓励我们通过将UI和相关行为封装到组件中来构...
      99+
      2024-04-02
    • Python中特殊传参的实现示例
      这篇文章主要介绍Python中特殊传参的实现示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、说明/ 和 * 是可选的。这些符号表明形参如何把参数值传递给函数:位置、位置或关键字、关键字。/ 前面只能传递位置参数...
      99+
      2023-06-15
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作