Python 简明教程
Python - Control Flow
Python 程序控制流受各种 conditional statements 、 loops 和 function 调用的控制。默认情况下,计算机程序中的指令将按顺序方式从上到下或从头到尾执行。但是,这种顺序执行程序只能执行一些简单的任务。我们希望程序具有决策能力,以便它可以根据不同的条件执行不同的步骤。
包括 Python 在内的多数编程语言都提供了控制指令执行流的功能。通常,任何编程语言中都有两种控制流语句,Python 也支持这些语句。
Decision Making Statements
决策语句用于 Python 程序中,以让它们能够决定执行哪组备用指令,具体取决于某个布尔表达式的值。
下图说明了决策语句的工作方式:
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 。如果流程被重定向到较早的步骤,而不是下一步,它就构成了循环。
下面的图表说明了循环是如何工作的:
如果控制无条件地返回,它就会形成一个无限循环,这是不希望的,因为剩余的代码永远无法得到执行。
在条件循环里,语句块的重复迭代将在特定条件得到满足前继续下去。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
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