美文网首页
Python中else不仅仅属于if语句

Python中else不仅仅属于if语句

作者: 何彪1973 | 来源:发表于2020-11-01 12:06 被阅读0次

      我们一般看到else,就会想到if,但事实上,Python中循环语句可能带有 else 子句;它会在循环耗尽了可迭代对象 (使用 for) 或循环条件变为假值 (使用 while) 时被执行,但不会在循环被 break 语句终止时被执行。 以下搜索素数的循环就是这样的一个例子:

    def seach_prime(n):
        """寻找小于n的素数"""
        for i in range(2, n):
            for j in range(2, i):
                if i % j == 0:
                    break
            else:  # 注意这里else的缩进位置,它不属于if语句
                # 这一层循环完成,但还没有找到因子
                print(i, 'is a prime number')
    
    seach_prime(100000)
    

      当和循环一起使用时,else 子句与 try 语句中的 else 子句的共同点多于 if 语句中的同类子句: try 语句中的 else 子句会在未发生异常时执行,而循环中的 else 子句则会在未发生 break 时执行。

    注意:以上代码只是为了举例,没考虑算法问题。

    相关文章

      网友评论

          本文标题:Python中else不仅仅属于if语句

          本文链接:https://www.haomeiwen.com/subject/juvyvktx.html