当前位置: 首页 > news >正文

Python 从入门到精通3 控制结构

Python 控制结构:条件判断、循环语句与跳转控制

Python 提供了丰富的控制结构,允许我们根据不同的条件和需求来控制代码的执行流程。理解并熟练掌握这些控制结构是成为一名合格 Python 开发者的必备技能。本文将详细介绍 Python 的 条件判断语句循环语句跳转语句,并通过丰富的例子帮助你深入理解这些控制结构的使用方法和应用场景。

一、条件判断语句

条件语句是编程中非常基础但又非常重要的一部分,它决定了程序在不同情况下的执行逻辑。Python 的条件语句包括 ifelifelse,以及条件表达式(也称为三元运算符)。通过条件判断,我们可以根据变量的值或者某些条件决定程序的执行流。

1. if 语句

if 语句用于判断一个条件是否成立,如果条件为真,则执行 if 语句块内的代码。如果条件为假,则跳过该代码块。基本语法如下:

if condition:# 执行的代码块

例如,假设我们有一个变量 age,需要判断这个人是否成年:

age = 20if age >= 18:print("你已经成年")

输出:

你已经成年

在这个例子中,条件 age >= 18True,所以执行了 print() 语句。如果条件为 False,则 print() 语句不会执行。

2. elif 语句

elif 是 “else if” 的缩写,用来处理多个条件。在 if 条件不成立时,程序会继续判断后续的 elif 条件。如果某个 elif 条件成立,则执行对应的代码块。如果所有 ifelif 条件都不成立,则执行 else 语句块(如果存在)。其基本语法如下:

if condition1:# 执行代码块1
elif condition2:# 执行代码块2
else:# 执行代码块3

例如,我们可以判断一个人是否成年、青少年或者儿童:

age = 15if age >= 18:print("你已经成年")
elif age >= 13:print("你是青少年")
else:print("你是儿童")

输出:

你是青少年
3. else 语句

else 语句用于处理上述条件都不成立的情况。它可以是 ifelif 的补充部分。当前面的条件都未满足时,else 块会被执行。else 语句块是可选的,但通常与 ifelif 一起使用,以确保条件判断的完整性。

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
  • breakbreak 用于立即退出当前循环,不再执行后续的代码。例如,我们要在循环中找到一个特定元素并停止搜索:

for i in range(10):if i == 5:print("找到了 5,退出循环")breakprint(i)

输出:

0
1
2
3
4
找到了 5,退出循环
  • continuecontinue 用于跳过当前的循环迭代,直接进入下一次循环。例如,跳过 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 提供了几种跳转语句,主要有 breakcontinuepass,它们用于控制循环和流程的跳转。

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 控制结构的详细讲解,我们深入了解了条件判断语句、循环语句和跳转语句的基本用法及其应用场景。

  • 条件语句:通过 ifelifelse,我们可以灵活地控制程序在不同条件下的执行路径。

  • 循环语句:使用 whilefor,我们可以高效地处理重复任务,避免代码冗余。

  • 跳转语句:通过 breakcontinuepass,我们可以精确控制循环流程,优化代码的可读性

相关文章:

  • 深度学习基础--目标检测入门简介
  • 软件工程国考
  • 使用Python和Pandas实现的Azure Synapse Dedicated SQL pool权限检查与SQL生成用于IT审计
  • PyTorch 与 TensorFlow:深度学习框架的深度剖析与实战对比
  • 等保系列(一):网络安全等级保护介绍
  • 第四章 Maven
  • 世纪华通:从财报数据看其在游戏领域的成功与未来
  • 3D版同步帧游戏
  • PyTorch中“原地”赋值的思考
  • GPU虚拟化实现(六)
  • 线段树原理和代码详解
  • 课题推荐——通信信号处理中的非线性系统状态估计(如信号跟踪、相位恢复等场景),使用无迹卡尔曼滤波(UKF)的非线性滤波算法,MATLAB实现
  • 【C++重载操作符与转换】输入和输出操作符
  • 深入解析Session与Cookie:从HTTP无状态到现代会话管理
  • 【kafka系列】消费者组
  • 使用Nexus搭建远程maven仓库
  • MySQL零基础入门:Ubuntu环境安装与操作精解
  • AWK 文本分析工具核心总结
  • HashMap,高效 哈希
  • Python生活手册-文件二进制:从快递柜到生鲜冷链的数据保鲜术
  • 2025年五一档电影新片票房破3亿
  • 乘客被困停滞车厢超4小时,哈尔滨铁路局客服:列车晚点,表示歉意
  • 国内锂矿“双雄”开局业绩PK:从巨亏中崛起,或深陷泥淖谋求多元转型
  • 新华时评:防范安全事故须臾不可放松
  • 金砖国家外长会晤发表主席声明,强调南方国家合作
  • 总书记考察的上海“模速空间”,要打造什么样的“全球最大”?