Python for循环语法与range()函数详解

方予
方予
发布时间:2026-10-11| 3人浏览过
原创

本文详解Python中for循环的语法结构、range()函数的多种用法(含步长与负数),以及结合len()遍历索引的方法。通过质数判断、break跳出循环及for...else机制的实例,展示Python序列遍历的核心操作与注意事项。

for循环基础语法

Python 中的 for 循环用于遍历序列(如列表、元组、字符串)或其他可迭代对象。其基本语法格式如下:

for iterating_var in sequence:
  statements(s)

执行流程为:依次从序列中取出元素赋值给 iterating_var,并执行循环体内的语句。若序列为空,则循环体不执行。

range()函数与索引遍历

若需通过索引访问序列元素,可结合内置函数 len() 与 range()。len() 返回序列长度,range() 生成整数序列。

1. 基本用法

>> a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...   print(i, a[i])
...
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ

2. range() 参数详解

range(start, stop, step) 可指定起始值、结束值(不包含)及步长:

  • 默认步长为 1:range(5) 生成 [0, 1, 2, 3, 4]。
  • 指定区间:range(5, 9) 生成 [5, 6, 7, 8]。
  • 指定步长:range(0, 10, 3) 生成 [0, 3, 6, 9]。
  • 负数步长:range(-10, -100, -30) 生成 [-10, -40, -70]。

此外,可直接使用 list(range(5)) 将生成的序列转换为列表。

循环控制与 for...else 机制

在循环中,break 用于立即跳出当前循环。Python 特有的 for...else 结构需注意:else 块仅在循环正常结束(未执行 break)时执行。

实例:质数判断

以下代码遍历 10 到 20 之间的数字,判断是否为质数:

for num in range(10, 20):
  for i in range(2, num):
    if num % i == 0:
      j = num / i
      print('%d 等于 %d * %d' % (num, i, j))
      break      # 找到因子则跳出
  else:
    print(num, '是一个质数')  # 未触发 break 时执行

输出结果:

10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数

实例:使用 break 中断循环

当满足特定条件时,else 块将不会执行:

sites = ["Baidu", "Google", "Runoob", "Taobao"]
for site in sites:
  if site == "Runoob":
    print("菜鸟教程!")
    break
  print("循环数据 " + site)
else:
  print("没有循环数据!")  # 因触发 break,此句不执行
print("完成循环!")

Python 版本差异提示

在 Python 3 中,print 必须作为函数调用(加括号),如 print('当前字母 :', letter)。而在 Python 2 中,print 可作为语句使用(不加括号)。上述示例代码已根据版本差异进行了适配说明。

总结

掌握 for 循环、range() 函数的灵活参数以及 break 与 else 的配合使用,是高效处理 Python 序列遍历的关键。通过实际案例练习,可更深入理解循环控制流。

以上就是Python for循环语法与range()函数详解的详细内容,更多关于Python基础教程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。