Python 简明教程

Python - Control Flow

Python 程序控制流受各种 conditional statementsloopsfunction 调用的控制。默认情况下,计算机程序中的指令将按顺序方式从上到下或从头到尾执行。但是,这种顺序执行程序只能执行一些简单的任务。我们希望程序具有决策能力,以便它可以根据不同的条件执行不同的步骤。

包括 Python 在内的多数编程语言都提供了控制指令执行流的功能。通常,任何编程语言中都有两种控制流语句,Python 也支持这些语句。

Decision Making Statements

决策语句用于 Python 程序中,以让它们能够决定执行哪组备用指令,具体取决于某个布尔表达式的值。

下图说明了决策语句的工作方式:

decision making statements

The if Statements

Python 提供 if..elif..else 控制语句作为决策标记的一部分。它包含三个不同的块,即 if 块、elif(else if 的缩写)块和 else 块。

下面是一个使用 if..elif..else 的简单示例。您可以尝试使用不同的标记运行此程序并验证结果。

marks = 80
result = ""
if marks < 30:
   result = "Failed"
elif marks > 75:
   result = "Passed with distinction"
else:
   result = "Passed"

print(result)

这将产生以下结果:

Passed with distinction

The match Statement

Python 支持 Match-Case 语句,该语句也可以用作决策的一部分。如果模式匹配表达式,那么该情况下的代码将执行。

以下是一个使用匹配语句的简单示例。

def checkVowel(n):
   match n:
      case 'a': return "Vowel alphabet"
      case 'e': return "Vowel alphabet"
      case 'i': return "Vowel alphabet"
      case 'o': return "Vowel alphabet"
      case 'u': return "Vowel alphabet"
      case _: return "Simple alphabet"
print (checkVowel('a'))
print (checkVowel('m'))
print (checkVowel('o'))

这将产生以下结果:

Vowel alphabet
Simple alphabet
Vowel alphabet

Loops or Iteration Statements

大多数进程都需要重复执行一组指令。在编程术语中,这被称为 loop 。如果流程被重定向到较早的步骤,而不是下一步,它就构成了循环。

下面的图表说明了循环是如何工作的:

looping works

如果控制无条件地返回,它就会形成一个无限循环,这是不希望的,因为剩余的代码永远无法得到执行。

在条件循环里,语句块的重复迭代将在特定条件得到满足前继续下去。Python 支持许多循环,例如 for 循环和 while 循环,我们将在下一章学习它们。

The for Loop

for loop 迭代任意序列(例如列表、元组或字符串)中的项目。

以下是一个使用 For Loop 迭代 Python 中数组的示例:

words = ["one", "two", "three"]
for x in words:
  print(x)

这将产生以下结果:

one
two
three

The while Loop

while loop 在给定的布尔表达式为 True 的情况下重复执行目标语句。

以下是一个使用 While Loop 在 Python 中打印前 5 个数字的示例:

i = 1
while i < 6:
  print(i)
  i += 1

这将产生以下结果:

1
2
3
4
5

Jump Statements

通过打破程序的当前流程,跳转语句可用于跳转到特定的语句。在 Python 中,有两个跳转语句 breakcontinue

The break Statement

它终止当前循环,并在下一条语句处恢复执行。

以下示例演示了 break 语句的使用:

x = 0

while x < 10:
    print("x:", x)
    if x == 5:
        print("Breaking...")
        break
    x += 1

print("End")

这将产生以下结果:

x: 0
x: 1
x: 2
x: 3
x: 4
x: 5
Breaking...
End

The continue Statement

它跳过程序块的执行,并将控制返回到当前循环的开始,以开始下一次迭代。

以下示例演示了 continue 语句的使用:

for letter in "Python":
    # continue when letter is 'h'
    if letter == "h":
        continue
    print("Current Letter :", letter)

这将产生以下结果:

Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n