Python break、continue、pass 语句及其示例

⚡ 智能摘要

Python break、continue 和 pass 语句控制循环的执行流程。break 语句终止循环,continue 语句跳过当前迭代,而 pass 语句则充当占位符,在循环、函数或类中执行时不执行任何操作。

  • 🔘 打破: break 语句会立即停止循环,并将控制权转移到它后面的第一行。
  • ☑️ 继续: continue 语句会跳过当前迭代的剩余部分,并开始下一次迭代。
  • 通过: pass 语句不执行任何操作,仅作为稍后添加代码的占位符。
  • 🧪 嵌套循环: break 或 continue 只会影响最内层循环,而不会影响外层循环。
  • 🛠️ 两个循环: 这三条语句都可以在 for 循环和 while 循环中使用,以改变正常的迭代流程。
  • 🤖 人工智能帮助: AI 助手和 GitHub Copilot 会建议并解释 break、continue 和 pass 的正确用法。

Python break、continue、pass 语句

几乎所有编程语言中都有循环的概念。 Python 循环有助于迭代列表、元组、字符串、字典和集合。支持两种类型的循环 Python “for” 和 “while”。代码块在循环内执行多次,直到条件不满足。

循环控制语句根据我们的需要中断执行流程并终止/跳过迭代。 Python break 和 continue 用于循环内部,以改变循环的标准流程。

for 循环或 while 循环用于迭代,直到给定的条件失败。使用 break 或 continue 语句时,循环流程会从正常方式改变。

Python 中断声明

break 语句负责终止使用它的循环。如果在嵌套循环中使用 break 语句,则终止当前循环,流程将继续执行循环之后的代码。

break语句的流程图如下:

Python 中断声明

以下是流程图中所涉及的步骤。

步骤1) 循环执行开始。

步骤2) 如果循环条件为真,它将执行步骤 2,其中循环主体将得到执行。

步骤3) 如果循环体中有 break 语句,循环就会退出并转到步骤 6。

步骤4) 循环条件执行完毕后,将进入步骤4中的下一次迭代。

步骤5) 如果循环条件为假,则退出循环并转到步骤6。

步骤6) 循环结束。

Break 语句执行流程

当 for 循环开始执行时,它会检查 if 条件。如果 true如果条件为假,则执行 break 语句,for 循环终止。如果条件为假,则执行 for 循环内的代码。

Break 语句执行流程

当 while 循环执行时,它会检查 if 条件;如果是 如此, break 语句执行后,while 循环将退出。如果条件为假,则执行 while 循环内的代码。

Break 语句执行流程

示例:for 循环内的 Break 语句

列表 my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru使用 for 循环遍历 ']。我们感兴趣的是查找名称 'Guru' 从列表 my_list 中。

在 for 循环内部,if 条件将列表中的每个项目与名称进行比较。Guru如果条件为真,则执行 break 语句,循环终止。

使用 break 语句的工作示例如下所示:

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 

for i in range(len(my_list)):
    print(my_list[i])
    if my_list[i] == 'Guru':
        print('Found the name Guru')
        break
        print('After break statement')

print('Loop is Terminated')

预期产量:

Siya
Tiya
Guru
Found the name Guru
Loop is Terminated

示例:while 循环内的 Break 语句

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
i = 0

while True:
    print(my_list[i])
    if (my_list[i] == 'Guru'):
        print('Found the name Guru')
        break
        print('After break statement')
    i += 1

print('After while-loop exit')

预期产量:

Siya
Tiya
Guru
Found name Guru
After while-loop exit

示例:嵌套循环内的 Break 语句

在示例中,我们有 2 个 for 循环。两个 for 循环都在 0 到 3 的范围内进行迭代。在第二个 for 循环中,我们添加了一个条件,即如果第二个 for 循环索引的值为 2,则应该中断。

所以由于 break 语句,第二个 for 循环永远不会迭代 2 和 3。

for i in range(4):
    for j in range(4):          
        if j==2:    
            break
        print("The number is ",i,j);  

预期产量:

The number is  0 0
The number is  0 1
The number is  1 0
The number is  1 1
The number is  2 0
The number is  2 1
The number is  3 0
The number is  3 1

Python 继续声明

继续 语句跳过它后面的代码,并将控制权交回开始处进行下一次迭代。

语法:

continue

继续流程图

Python 继续声明

以下是流程图中所涉及的步骤。

步骤1) 循环执行开始。

步骤2) 循环内的代码执行完毕。如果循环内有继续语句,则控制将返回步骤 4,即下一次迭代的循环起点。

步骤3) 循环内的代码将执行完成。

步骤4) 如果有continue语句或者循环体内的循环执行完成,则会调用下一次迭代。

步骤5) 一旦循环执行完成,循环将退出并转到步骤7。

步骤6) 如果步骤1中的循环条件不满足,则退出循环并转到步骤7。

步骤7) 循环结束。

Continue 语句执行流程

for 循环遍历给定的数组 my_list。在 for 循环内部,会执行 if 条件语句。如果条件成立,则执行后续操作。 true,将执行 continue 语句,并且控制权将传递到循环的开始处进行下一次迭代。

代码流程如下图所示:

Continue 语句执行流程

当 while 循环执行时,它会检查 if 条件,如果 如此, continue 语句被执行。控制流将返回 while 循环的开头,进行下一次迭代。如果条件为假,则执行 while 循环内部的代码。

代码流程如下图所示:

Continue 语句执行流程

示例:在 for 循环内继续

for i in range(10):    
    if i == 7:
        continue  
    print("The Number is :" , i)

预期产量:

The Number is : 0
The Number is : 1
The Number is : 2
The Number is : 3
The Number is : 4
The Number is : 5
The Number is : 6
The Number is : 8
The Number is : 9

示例:在 while 循环内继续

i = 0
while i <= 10:    
    if i == 7:
        i += 1
        continue  
    print("The Number is  :" , i)
    i += 1

预期产量:

The Number is  : 0
The Number is  : 1
The Number is  : 2
The Number is  : 3
The Number is  : 4
The Number is  : 5
The Number is  : 6
The Number is  : 8
The Number is  : 9
The Number is  : 10

示例:在嵌套循环内继续

下面的示例展示了如何使用 2 个 for 循环。两个 for 循环都在 0 到 3 的范围内进行迭代。在第二个 for 循环中,有一个条件,其中如果第二个 for 循环索引的值为 2,则应该 继续。因此,由于 继续 语句,第二个 for 循环将跳过 2 的迭代并继续 3。

for i in range(4):
    for j in range(4):          
        if j==2:    
            continue
        print("The number is ",i,j);

预期产量:

The number is  0 0
The number is  0 1
The number is  0 3
The number is  1 0
The number is  1 1
The number is  1 3
The number is  2 0
The number is  2 1
The number is  2 3
The number is  3 0
The number is  3 1
The number is  3 3

Python 通过声明

Python pass 语句用作循环、函数、类、if 语句中的占位符,以便稍后实现。

句法

pass

pass 语句是什么 Python?

Python pass 是空语句。当 Python 解释器遇到 pass 语句时,不会执行任何操作,会被忽略。

何时使用 pass 语句?

假设你有一个函数或类,其主体为空。你计划在将来编写代码。 Python 如果解释器遇到空主体,将会抛出错误。

也可以在函数或类的主体内添加注释,但解释器会忽略该注释并抛出错误。

pass 语句可以在函数体或类体中使用。执行过程中,解释器遇到 pass 语句时,会忽略并继续执行,不会给出任何错误。

示例:函数内的 pass 语句

在示例中,pass 被添加到函数内部。当函数被调用时,它将被执行,如下所示:

def my_func():
    print('pass inside function')
    pass
my_func()

预期产量:

pass inside function

示例:类中的 pass 语句

在下面的例子中,我们只创建了一个空类,该类有一个 print 语句,后面跟着一个 pass 语句。pass 语句表示类“My_Class”内的代码将在将来实现。

classMy_Class:
print("Inside My_Class")    
pass

输出:

Inside My_Class

示例:循环内的 pass 语句

在下面的示例中,字符串“Guru' 在 for 循环中使用。if 条件检查字符 'r',如果检查则调用 print 语句,然后执行 pass 语句。

# Pass statement in for-loop
test = "Guru"
for i in test: 
    if i == 'r': 
        print('Pass executed') 
        pass
    print(i)

预期产量:

G
u
Pass executed
r
u

例如:在 if 循环内传递语句

在示例中 if 循环 检查 a 的值,如果条件为真,则会打印语句“pass executed”,然后是 pass。

a=1
if a==1:
    print('pass executed')
    pass

预期产量:

pass executed

何时使用 break 和 continue 语句?

  • A 打破 语句在循环内使用时,将终止循环并退出。如果在嵌套循环内使用,它将跳出当前循环。
  • A 继续 在循环中使用时,语句将停止当前执行,并且控制将返回到循环的开始处。

break 和 continue 语句之间的主要区别在于,当遇到 break 关键字时,它将退出循环。

如果使用 continue 关键字,则正在运行的当前迭代将停止,并继续进行下一次迭代。

常见问题

`continue` 语句会跳过当前循环的剩余部分,直接跳到下一次循环。`pass` 语句则不执行任何操作——它只是一个占位符,用于保持循环、函数或类的语法有效。

break 语句只会退出包含它的最内层循环,因此任何外层循环都会继续运行。要同时退出多个循环,可以使用标志变量或将循环移到一个函数中并返回。

是的。循环的 else 代码块仅在循环正常结束而未执行 break 语句时才会运行。它对搜索逻辑非常有用,例如在检查完序列中的每个元素后打印未找到的消息。

Python 会引发语法错误,因为 break 和 continue 语句只能在 for 或 while 循环内部使用。如果需要在循环外部使用占位符,请改用 pass 语句,pass 语句可以在任何需要语句的地方使用。

一旦执行了 break 或 continue 语句,控制权就会离开当前迭代,因此后续行中写在它们之后的语句将无法执行。在上面的示例中,break 语句后的 print() 调用永远不会运行,实际上是死代码。

`break` 语句会跳出最近的封闭循环,但不会终止函数本身。`return` 语句会立即退出整个函数,并将一个值返回给变量,同时结束函数内部的所有循环。

像 ChatGPT 这样的 AI 助手可以根据简单的描述生成循环控制代码,解释循环提前退出的原因,标记放错位置的 break 或 continue 语句,并建议 pass、continue 或 break 哪种语句最符合你的逻辑。

是的。GitHub Copilot 可以根据注释或周围代码自动补全 break、continue 和 pass。而智能 AI 工具的功能更进一步,可以重构循环流程、移除 break 语句后的无用代码,并自动修复整个文件中的控制流错误。

总结一下这篇文章: