`
isiqi
  • 浏览: 16354442 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

[Python]循环语句中的 else 子句

阅读更多
[Python]循环语句中的 else 子句
有其它编程语言经验的程序员接触到 Python 时最讶异的莫过于无所不在的 else,不仅分枝语句有,而且循环语句也有,甚至连异常处理也有。但现在我们来看看循环语句中的 else,看看它们的语法:
while_stmt ::=
"while" expression ":" suite
["else" ":" suite]
for_stmt ::=
"for" target_list "in" expression_list
":" suite
["else" ":" suite]
要谈 else 分句,必须要知道 Python 从 C 语言中借来了语义相同的 break 和 continue 语句,因为 else 分句提供了隐含的对循环是否由 break 语句引发循环结束的判断。先来看一个没有应用 else 子句的例子:
>>> def print_prime(n):
... for i in xrange(2, n):
... found = True
... for j in xrange(2, i):
... if i % j == 0:
... found = False
... break
... if found:
... print '%d is a prime number'%i
这是一个查找素数的简单实现,可以看到我们借助了一个标志量 found 来判断是循环结束是不是由 break 语句引起的,如果对 else 善加利用,代码可以简洁得多:
>>> def print_prime2(n):
... for i in xrange(2, n):
... for j in xrange(2, i):
... if i % j == 0:
... break
... else:
... print '%d is a prime number'%i
当循环“自然”终结(循环条件为假)时 else 从句会被执行一次,而当循环是由 break 语句中断时,else 从句就不被执行。
与 for 语句相似,while 语句的else 子句的语意是一样的。else 块在循环正常结束和循环条件不成立时执行。
与 C/C++ 等较为“老土”的语言相比,else 子句使程序员的生产力、和代码的可读性都得到了提高。尽管如此,我见过的代码中使用 else 子句的情况并不多,大概是因为大家都习惯了 C 式的标志量解决方案,我建议大家多使用 else。
最后八卦一下,如果在 python 中想直接退出多重循环,你应该使用异常,python 不提供 goto。关于异常,下次我们再来聊聊。
分享到:
评论

相关推荐

    python循环语句学习大全

    本资源针对“Python循环语句学习大全”,旨在帮助初学者掌握Python的基础及网络爬虫开发中的循环运用。 首先,我们要理解循环语句在编程中的作用。循环语句允许我们重复执行一段代码,直到满足特定条件为止。Python...

    Python 习题库_循环语句_

    在Python编程语言中,循环语句是控制程序流程的关键元素,它们允许我们重复执行一段代码,直到满足特定条件为止。本资源"Python 习题库_循环语句_"聚焦于`for`和`while`这两种主要的循环结构,提供了一系列练习题目...

    Python循环语句中else的用法总结

    ### Python循环语句中else的用法总结 #### 前言 在Python编程语言中,循环结构是非常重要的组成部分,它允许我们重复执行一段代码直到满足特定条件为止。Python提供了两种主要类型的循环:`for`循环和`while`循环...

    python循环语句嵌套-python基础教程:Python中在for循环中嵌套使用if和 .pdf

    Python中的循环语句是编程中不可或缺的部分,它们用于重复执行一段代码直到满足特定条件为止。在Python中,循环语句可以与其他控制结构如if和else相结合,形成强大的语法特性,称为“语法糖”。这些特性使得Python...

    python的else子句使用指南

    在分支语句中使用else子句在一些常见的编程语言中的用法基本相同,类似于提供了一条默认的执行路径,配合if等条件判断语句使用,相比其它的编程语言(c#, java, js等)在python中,else有一些特殊的用法,配合for, ...

    Python 循环语句之 while,for语句详解

    循环语句(有两种): while 语句 for 语句 while 语句: 问题:输入一个整数n,让程序输出n行的: ...作用:根据一定条件,重复的执行一条语句或多条...则执行else子句中的语句块2,然后结束此while语句的执行,如

    第9章 python循环语句-python入门和基础-学习和教学使用.pptx

    第九章的讲解主要聚焦在Python的循环语句上,这是编程中最基本且不可或缺的一部分,尤其对于初学者来说至关重要。Python的循环语句分为两种主要类型:for循环和while循环。 首先,for循环语句在Python中扮演着核心...

    Python循环中else,break和continue的用法实例详解

    总的来说,理解和熟练运用`else`、`break`和`continue`能帮助我们编写更高效、更清晰的Python循环代码。在适当的情况下使用这些语句可以使我们的程序逻辑更加明确,提高代码的可读性和可维护性。

    python基础教程:Python中在for循环中嵌套使用if和else语句的技巧.pdf

    当`for`循环正常完成,即没有`break`语句中断时,`else`子句中的代码将被执行。这是一个简单的例子: ```python def print_prime(n): for i in range(2, n): is_prime = True for j in range(2, i): if i % j =...

    Python for循环搭配else常见问题解决

    如果`for`循环遍历完整个`range(10)`并且没有遇到`break`,那么`else`子句中的代码将会执行。 在您提供的例子中: ```python for i in range(10): if i == 5: print('found it! i = %s' % i) else: print('not...

    Python中在for循环中嵌套使用if和else语句的技巧

    #### 三、在for循环中使用else子句 在Python中,`for`循环可以与`else`子句结合使用。当`for`循环正常完成迭代(即未遇到`break`)时,`else`子句将被执行。这种结构在某些特定场景下非常有用,如检查列表中是否...

    Python2与python3中 for 循环语句基础与实例分析

    Python中的`for`循环语句是编程中非常基础且重要的控制结构,用于遍历序列(如列表、元组、字符串)或可迭代对象中的每个元素。在Python 2和Python 3中,`for`循环的基本语法是相同的,但有一些细微的差异,如`print...

    完整图文版教程 优质的Python基础入门教程 讲解清晰 PPT课件 05、Python控制语句-循环语句1 (共27页).ra

    以上就是Python中关于循环语句的基础知识。通过理解和熟练运用这些概念,你将能够编写出更加灵活和高效的代码。在实际编程中,根据需求选择合适的循环结构,合理利用`break`和`continue`,以及`range()`和`enumerate...

    第3章 Python常用语句.pptx

    - **`else` 子句**:可以附加到 `for` 或 `while` 循环之后,当循环正常完成时(即不是因为 `break` 退出)才会执行 `else` 子句中的代码。 - **示例**: ```python count = 0 while count print(count, "小于...

    python的for循环语句range-Python基础教程:for循环语句与range()函数.pdf

    Python中的for循环语句是编程中最常用的控制结构之一,它用于遍历序列或集合中的每个元素。`for ... in`语句是Python中迭代的一种实现,它可以迭代任何可迭代对象,如列表、元组、字符串等。对于初学者来说,理解和...

    python for和else语句趣谈

    如果循环没有被 `break` 语句提前终止,那么 `else` 子句中的代码将会被执行。如果循环体内的代码包含 `break` 语句,并且在循环过程中触发了 `break`,则 `else` 子句不会执行。因此,`else` 语句与 `break` 关联...

    Python3之for和while循环语句

    在Python3中,循环语句是程序控制流程的重要部分,主要分为for循环和while循环。 1. **while循环** while循环与if条件语句类似,但它的特点是根据指定的条件反复执行一段代码。基本语法结构如下: ```python ...

    独特的python循环语句

    总之,Python的循环语句以其独特的局部变量规则和`for-else`结构,提供了强大的控制流和简洁的代码编写方式。了解并熟练掌握这些特性,对于编写高效、易读的Python代码至关重要。在实际编程中,利用这些特性可以更...

Global site tag (gtag.js) - Google Analytics