Python 从入门到精通3 控制结构
Python 控制结构:条件判断、循环语句与跳转控制
Python 提供了丰富的控制结构,允许我们根据不同的条件和需求来控制代码的执行流程。理解并熟练掌握这些控制结构是成为一名合格 Python 开发者的必备技能。本文将详细介绍 Python 的 条件判断语句、循环语句 和 跳转语句,并通过丰富的例子帮助你深入理解这些控制结构的使用方法和应用场景。
一、条件判断语句
条件语句是编程中非常基础但又非常重要的一部分,它决定了程序在不同情况下的执行逻辑。Python 的条件语句包括 if
、elif
和 else
,以及条件表达式(也称为三元运算符)。通过条件判断,我们可以根据变量的值或者某些条件决定程序的执行流。
1. if 语句
if
语句用于判断一个条件是否成立,如果条件为真,则执行 if
语句块内的代码。如果条件为假,则跳过该代码块。基本语法如下:
if condition:# 执行的代码块
例如,假设我们有一个变量 age
,需要判断这个人是否成年:
age = 20if age >= 18:print("你已经成年")
输出:
你已经成年
在这个例子中,条件 age >= 18
为 True
,所以执行了 print()
语句。如果条件为 False
,则 print()
语句不会执行。
2. elif 语句
elif
是 “else if” 的缩写,用来处理多个条件。在 if
条件不成立时,程序会继续判断后续的 elif
条件。如果某个 elif
条件成立,则执行对应的代码块。如果所有 if
和 elif
条件都不成立,则执行 else
语句块(如果存在)。其基本语法如下:
if condition1:# 执行代码块1
elif condition2:# 执行代码块2
else:# 执行代码块3
例如,我们可以判断一个人是否成年、青少年或者儿童:
age = 15if age >= 18:print("你已经成年")
elif age >= 13:print("你是青少年")
else:print("你是儿童")
输出:
你是青少年
3. else 语句
else
语句用于处理上述条件都不成立的情况。它可以是 if
或 elif
的补充部分。当前面的条件都未满足时,else
块会被执行。else
语句块是可选的,但通常与 if
和 elif
一起使用,以确保条件判断的完整性。
age = 12if age >= 18:print("你已经成年")
else:print("你还未成年")
输出:
你还未成年
4. 条件表达式(Ternary Operator)
Python 支持条件表达式(即三元运算符),这是一种更加简洁的方式来进行条件判断。它的语法是:
x = value_if_true if condition else value_if_false
这个语法的意思是:如果 condition
为真,x
就是 value_if_true
,否则 x
就是 value_if_false
。
例如:
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)
输出:
成年
这种写法在简洁代码时非常有用,特别是在某些简单条件判断时。
二、循环语句
循环语句是编程中最常用的控制结构之一。它允许我们重复执行某一段代码,直到满足特定条件为止。在 Python 中,常见的循环结构有 while
循环和 for
循环。
1. while 循环
while
循环是一种基于条件判断的循环,它会反复执行一个代码块,直到条件为 False
时退出循环。其基本语法如下:
while condition:# 执行代码块
在每次循环开始时,都会检查 condition
的值。如果条件为 True
,则继续执行循环体中的代码。如果条件为 False
,则退出循环。
例如,使用 while
循环打印 1 到 5 的数字:
count = 1
while count <= 5:print(count)count += 1 # 每次循环后,count 增加 1
输出:
1
2
3
4
5
注意:while
循环如果没有正确修改循环条件,可能会导致死循环。例如:
while True:print("这是一个死循环")
在这种情况下,程序将永远循环下去,直到被手动终止或发生其他错误。因此,在使用 while
循环时,需要特别小心循环条件的修改。
2. for 循环
for
循环是另一种常用的循环结构,它通常用于遍历序列(如列表、元组、字典、字符串等)中的每一个元素。它的基本语法如下:
for variable in iterable:# 执行代码块
iterable
是一个可以被遍历的对象,variable
是每次遍历时从 iterable
中取出的元素。
例如,遍历一个列表:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)
输出:
apple
banana
cherry
for
循环也可以用于遍历数字范围,使用 range()
函数生成一系列的数字:
for i in range(5): # 从 0 到 4print(i)
输出:
0
1
2
3
4
如果我们希望 range()
生成不同的数字序列,可以传递起始值、终止值和步长参数:
for i in range(2, 10, 2): # 从 2 到 10,步长为 2print(i)
输出:
2
4
6
8
3. break 和 continue
-
break:
break
用于立即退出当前循环,不再执行后续的代码。例如,我们要在循环中找到一个特定元素并停止搜索:
for i in range(10):if i == 5:print("找到了 5,退出循环")breakprint(i)
输出:
0
1
2
3
4
找到了 5,退出循环
-
continue:
continue
用于跳过当前的循环迭代,直接进入下一次循环。例如,跳过i
为 3 的情况:
for i in range(5):if i == 3:continue # 跳过 3print(i)
输出:
0
1
2
4
4. else 与循环
在 Python 中,else
可以与循环一起使用。当循环正常结束(没有被 break
中断)时,else
语句会执行。如下所示:
for i in range(5):print(i)
else:print("循环正常结束")
输出:
0
1
2
3
4
循环正常结束
如果循环通过 break
提前退出,else
语句块将不会执行:
for i in range(5):if i == 3:breakprint(i)
else:print("循环正常结束")
输出:
0
1
2
三、跳转语句
Python 提供了几种跳转语句,主要有 break
、continue
和 pass
,它们用于控制循环和流程的跳转。
1. break
break
语句用于立即退出当前循环,不再执行后续的循环体。常用于当我们找到目标时,就停止循环。
for i in range(5):if i == 3:break # 跳出循环print(i)
输出:
0
1
2
2. continue
continue
语句用于跳过当前循环的剩余部分,直接进入下一次循环。这在我们不希望执行某些操作时非常有用。
for i in range(5):if i == 3:continue # 跳过 3print(i)
输出:
0
1
2
4
3. pass
pass
语句是一个占位符,它什么也不做。pass
语句常用于语法结构需要代码块,但又不需要实际执行任何操作时。它在代码的初步搭建和测试阶段很有用。
for i in range(5):if i == 3:pass # 什么也不做else:print(i)
输出:
0
1
2
4
四、总结
通过对 Python 控制结构的详细讲解,我们深入了解了条件判断语句、循环语句和跳转语句的基本用法及其应用场景。
-
条件语句:通过
if
、elif
和else
,我们可以灵活地控制程序在不同条件下的执行路径。 -
循环语句:使用
while
和for
,我们可以高效地处理重复任务,避免代码冗余。 -
跳转语句:通过
break
、continue
和pass
,我们可以精确控制循环流程,优化代码的可读性