在 Python 中使用循环可以高效地自动执行和重复任务。但有时,可能会出现您想要完全退出循环、跳过迭代或忽略该条件的情况。这些可以通过循环控制语句来完成。循环控制语句改变其正常顺序的执行。当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。Python支持以下控制语句:
- break
- continue
- pass
Python 中的 Break 语句
Python中的break 语句用于终止它所在的循环或语句。之后,控制权将传递给break语句之后出现的语句(如果可用)。如果嵌套循环中存在break语句,则它仅终止包含break语句的那些循环。
Break 语句的语法
Python中的break语句的语法如下:
for / while 循环:
# 语句
if 条件:
break
# 语句
# 循环结束
break语句流程图
break用法示例:
在此示例中,我们将看到 Break 语句与 Python 循环和字符串的用法。首先,我们将在for循环中使用 break 语句,以便在字符串中遇到特定字符时退出 for 循环。然后我们将执行相同的操作,但使用的是while 循环。
s = 'lovesjkhxw'
# 使用for循环迭代字符串中的每个字符
for letter in s:
print(letter)
# 在遇到 'e' 或 'x' 时退出循环
if letter == 'e' or letter == 'x':
break
print("Out of for loop")
print()
i = 0
# 使用while循环
while True:
print(s[i])
# 在遇到 'e' 或 'x' 时退出循环
if s[i] == 'e' or s[i] == 'x':
break
i += 1
print("Out of while loop")
输出:
l
o
v
e
Out of for loop
l
o
v
e
Out of while loop
break用法示例2:
在此示例中,我们将看到Python 中的break 语句与嵌套 for 循环的用法。如果在内部 for 循环中声明了 break 语句,则控制仅从该循环中出来。外部 for 循环仍然继续工作。
# 第一个for循环
for i in range(1, 5):
# 第二个for循环
for j in range(2, 6):
# 如果j能被i整除,就退出内部循环
if j % i == 0:
break
print(i, " ", j)
输出:
3 2
4 2
4 3
Python中的Continue语句
和break语句一样,Continue也是一个循环控制语句。continue语句与break语句相反,它不是终止循环,而是强制执行循环的下一次迭代。顾名思义,Continue 语句强制循环继续或执行下一次迭代。当循环中执行 continue 语句时,将跳过 continue 语句后面的循环内的代码,并开始循环的下一次迭代。
continue 语句的语法
for / while 循环:
# 语句
if 条件:
continue
# 语句
Continue 语句流程图
continue用法示例:
在此示例中,我们将使用 Python continue 语句和for 循环来迭代一系列数字,并在满足某些条件时继续下一次迭代,而不对该特定元素执行操作。
# 循环从1到10
for i in range(1, 11):
# 如果i等于6,
# 则继续下一次迭代
# 而不打印
if i == 6:
continue
else:
# 否则打印i的值
print(i, end=" ")
输出:
1 2 3 4 5 7 8 9 10
Python 中的 Pass 语句
顾名思义,pass 语句根本不执行任何操作。它就像一个空操作,执行后不会发生任何事情。Pass 语句也可用于编写空循环。Pass 还用于空控制语句、函数和类。
Pass 语句的语法
function/ condition / loop:
pass
python pass用法示例:
在此示例中,我们将使用带有空 for 循环和空Python 函数的pass 语句。我们刚刚声明了一个函数并在其中写入了 pass 语句。当我们尝试调用此函数时,它将执行并且不会生成错误。
然后我们在 for 循环中使用带有 if 条件的 pass 语句。当“i”的值等于“k”时,pass 语句不执行任何操作,因此会打印字母“k”。
s = "geeks"
# 空循环,不会引发错误
for i in s:
# 不执行任何操作,只是占位符
pass
# 空函数,不会引发错误
def fun():
pass
# 不会引发错误,函数不执行任何操作
fun()
# Pass语句
for i in s:
if i == 'k':
print('Pass executed')
pass # 这里的pass语句没有具体操作
print(i)
输出:
g
e
e
Pass executed
k
s