Python 循环:初学者全面指南

循环在编程中扮演着至关重要的角色,使我们能够高效且重复地执行代码块。Python 提供了两种关键的循环结构:for 循环和 while 循环。掌握循环对于简化代码和以最小的努力完成复杂任务至关重要。

在本综合指南中,初学者可以通过逐步的说明和示例学习 Python 循环的基本知识。涵盖的主题包括 for 循环和 while 循环的语法和应用、循环控制如 break 和 continue、enumerate() 函数,以及循环在字符串、重复执行等方面的实际应用案例。

什么是循环?

简单来说,循环允许代码段重复多次或直到满足某个条件。重复的代码块称为循环体。

我们可以通过循环结构来自动化重复任务,而不是手动输入代码多次。

这节省了大量时间和精力,尤其是对于较长的脚本。循环还使我们能够逐元素遍历数据结构,例如遍历字符串中的字符。

while 循环

while 循环会在给定的布尔条件为 True 时重复执行目标代码。

它的基本语法:

while condition:
   # 要执行的代码块
    pass

该结构首先检查条件是否为True。如果是,它将执行循环体内的代码。在一次完整执行后,它会重新评估条件,并重复此过程,直到条件变为False。

示例:使用计数变量x将打印数字0到4。

x = 0
while x < 5:
    print(x)
    x += 1 

for循环

for循环用于顺序迭代,适用于列表、元组、字典、字符串等可迭代对象。基本语法如下:

for item in iterable_object:
    # 代码块
       pass
这段代码顺序遍历 iterable_object,并对每个元素执行循环体,将当前元素赋值给 item。具体分析如下:
  • iterable_object – 一个可以返回迭代器的集合,如列表、字符串等
  • item – 一个变量,表示当前迭代中集合中的元素
  • 代码块 – 对每个元素执行的操作

 

示例 要打印 fruits 列表中的每种水果:

fruits = [“apple”, “banana”, “cherry”]
for fruit in fruits:
print(fruit)

使用字符串的 for 循环

我们也可以使用 for 循环遍历字符串,因为字符串在 Python 中是可迭代对象。例如:

name = "John"
 for letter in name:
     print(letter)

输出结果:分别打印出每个字母 J、o、h、n。

中断和继续语句

我们可以通过中断和继续语句来控制循环的执行。

  • break – 退出当前最近的封闭循环。
  • continue – 跳转到最近的封闭循环的顶部。

例如

    for x in range(10):
       if x == 5:
           break 
           print(x)

这将打印出0到4。一旦x等于5,break语句将终止循环。
同样适用于continue:

    for x in range(10):
       if x % 2 == 0: 
           continue
           print(x) 

如果 x 是偶数,我们会直接跳到下一个迭代,而不打印该值。这只会打印出从 1 到 9 的奇数。

枚举函数

enumerate() 允许我们在迭代过程中访问索引位置。它为可迭代对象添加一个计数器,并将其作为枚举对象返回。
语法:

for counter, value in enumerate(iterable):
       #代码块

示例:打印列表项及其索引:

grocery_list = [面包,牛奶,鸡蛋]

    for item in enumerate(grocery_list):
        print(item)

    # 输出: 
    # (0, '面包')  
    # (1, '牛奶')  
    # (2, '鸡蛋')

实用示例

以下是一些 Python 循环的常见用例示例:

  • 重复语句

我们可以使用一个简单的 for 循环来重复执行语句一定次数:

    for x in range(5):
         print("Hello World")

这将打印“Hello World”五次。

  • 文件迭代

逐行遍历文本文件:

   file = open("text.txt","r") 
    for line in file:
        print(line)
    file.close()
  • 列表推导式

动态构建列表或字典:

squared_numbers = [x**2 for x in range(10)] # [0, 1, 4, 9, 16...]  
dict_from_lists = {key:val for key, val in zip(keys, values)} 

结论

Python 的循环结构,如 for 和 while,是自动化重复任务的不可或缺的工具,构成了代码的基础。

掌握这里涵盖的基础知识,从语法控制(如 break/continue)到 enumerate(),为初学者提供了有效利用循环的核心技术。循环的熟练掌握也为应对更高级的 Python 特性铺平了道路。

更多