Python for循环语法与range()函数详解
本文详解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 QQ2. 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基础教程的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













