Python3 循环语句(千字长文)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观

Python 3 循环语句:让程序高效运转的“永动机”

在编程世界中,循环语句如同程序的“永动机”,它能让代码在特定条件下重复执行,从而高效完成批量操作。无论是遍历数据集、处理文件流,还是构建复杂的算法逻辑,掌握Python 3的循环语句都是开发者的基础能力。本文将从基础概念到高级应用,通过形象比喻和实战案例,带读者全面理解这一核心编程工具。


一、循环语句的核心作用:程序的“重复执行引擎”

想象你正在组装一辆自行车,每次拧螺丝都需要手动操作,这显然效率低下。而循环语句就像一台智能扳手,能自动识别并完成重复任务。在Python中,循环语句主要分为两类:for循环和**while循环**,它们分别对应“已知次数的重复”和“条件达成前的持续运行”两种场景。

1. for循环:已知次数的“流水线作业”

for循环通过遍历序列(列表、字符串、字典等)实现循环。其语法结构为:

for 变量 in 可迭代对象:
    # 循环体代码

案例:遍历购物车计算总价

prices = [20, 35.5, 12.99, 49.9]
total = 0
for price in prices:
    total += price
print(f"总价:{total:.2f} 元")

关键点

  • 序列遍历for循环会逐个提取可迭代对象中的元素赋值给变量。
  • 循环体:每次迭代后,变量值会更新为下一个元素。

二、while循环:条件触发的“守门员机制”

while循环更像一位严谨的“守门员”,只有当条件满足时才允许程序继续执行。其语法为:

while 条件表达式:
    # 循环体代码

案例:猜数字游戏

import random
target = random.randint(1, 10)
guess = 0
while guess != target:
    guess = int(input("猜一个1-10的数字:"))
    if guess < target:
        print("太小了!")
    elif guess > target:
        print("太大了!")
print("恭喜猜中!")

关键点

  • 条件判断:循环体仅在条件表达式为True时执行。
  • 避免死循环:必须确保循环体内有改变条件的语句(如本例中通过用户输入更新guess)。

三、循环控制语句:灵活调整的“交通灯系统”

在循环执行过程中,有时需要临时跳过某次迭代或直接终止循环。Python提供了三种控制语句:

1. break:立即终止循环的“红灯”

当满足特定条件时,break会终止最近一层循环,跳出循环体继续执行后续代码。

案例:寻找第一个偶数

numbers = [7, 3, 15, 8, 22, 9]
for num in numbers:
    if num % 2 == 0:
        print(f"找到第一个偶数:{num}")
        break

2. continue:跳过当前迭代的“黄灯”

continue会直接跳过本次循环的剩余代码,进入下一次迭代。

案例:过滤非数字字符

text = "a1b2c3"
digits = []
for char in text:
    if not char.isdigit():
        continue
    digits.append(char)
print(digits)  # 输出:['1', '2', '3']

3. pass:占位符的“绿灯”

pass是一个空语句,用于保持代码结构完整性,常用于尚未实现的功能占位。

案例:框架搭建

def process_data(data):
    if not data:
        pass  # 后续需补充空数据处理逻辑
    else:
        # 数据处理逻辑
        pass

四、嵌套循环:构建多维操作的“矩阵网格”

当需要处理二维数据(如表格、棋盘)时,可以将循环嵌套使用。外层循环控制行,内层循环控制列。

案例:生成坐标点

for x in range(3):
    for y in range(3):
        print(f"({x}, {y})", end=" ")
    print()  # 换行符

关键点

  • 执行顺序:外层循环每完成一次迭代,内层循环会完整执行一次。
  • 性能注意:双重循环的时间复杂度为O(n²),需谨慎处理大数据量场景。

五、性能优化技巧:让循环“轻装上阵”

对于大规模数据处理,优化循环效率至关重要。以下是几种常用策略:

1. 列表推导式替代显式循环

squares = []
for num in range(10):
    squares.append(num ** 2)

squares = [num ** 2 for num in range(10)]

2. 避免不必要的内层计算

for i in range(len(list)):
    # 操作

for item in list:
    # 操作

3. 使用生成器减少内存占用

squares = (num ** 2 for num in range(1000000))
for square in squares:
    # 按需处理

六、实战案例:斐波那契数列生成

斐波那契数列是循环的经典应用,通过两种循环方式实现:

方式一:for循环

n = 10
a, b = 0, 1
for _ in range(n):
    print(a, end=" ")
    a, b = b, a + b

方式二:while循环

a, b, count = 0, 1, 0
while count < 10:
    print(a, end=" ")
    a, b = b, a + b
    count += 1

结论:循环语句是编程的“基石”

从基础的遍历操作到复杂的嵌套逻辑,Python 3的循环语句为开发者提供了强大的工具箱。通过掌握for循环的序列遍历、while循环的条件控制,结合breakcontinue等控制语句,开发者可以构建出高效、灵活的代码结构。建议读者通过实际项目练习,例如文件批量处理、数据统计分析等,逐步深化对循环语句的理解。

在未来的编程旅程中,循环语句将继续作为“永动机”,驱动你的代码完成更复杂的任务。记住,每一次循环的优化都是对程序效率的提升,而每一次循环的正确设计,都是对逻辑思维的锤炼。

最新发布