在Python编程中,循环是一种重要的控制结构,用于重复执行某段代码。本文将详细介绍Python中的循环,包括可迭代类型、for循环的两种常见形式、break与continue语句、for与else的结合使用以及循环嵌套。
学习循环之前,请先了解一下编辑器的断点调试功能,这样能帮助你了解循环的执行过程和变量的变化过程,让你更好地理解循环!!!
Visual Studio Code
- 打开你的 Python 文件。
- 在代码行号旁边点击,设置断点(会出现一个红点)。
- 点击调试按钮(通常是一个虫子图标),选择“启动调试”或按
F5
。 - 程序会在断点处暂停,你可以使用调试工具栏进行单步执行、查看变量、调用堆栈等。
PyCharm
- 打开你的 Python 文件。
- 在代码行号旁边点击,设置断点。
- 点击“运行”菜单,选择“调试”或按
Shift + F9
。 - 程序会在断点处暂停,你可以使用调试窗口进行单步执行、查看变量、调用堆栈等。
1. Iterable可迭代类型
在Python中,可迭代(Iterable)类型是指那些可以被遍历的对象,例如列表(list)、元组(tuple)、字符串(str)、集合(set)和字典(dict)等。
```python
# 列表是可迭代类型
my_list = [1, 2, 3, 4, 5]
for item in my_list:
print(item)
# 输出:
# 1
# 2
# 3
# 4
# 5
# 字符串也是可迭代类型
my_str = "Hello"
for char in my_str:
print(char)
# 输出:
# H
# e
# l
# l
# o
```
for循环是一种“轮询”机制,是对一批内容进行“逐个处理”,以第一个代码为例,for
循环来遍历 my_list
中的每一个元素。在每次迭代中,当前的元素会被赋值给变量 item
。
注意:如果print写在外层,将只会打印最后一个元素,因为for循环遍历结束才会执行最后的打印
2. for两种常见形式
Python中的for循环有两种常见形式:一种是直接遍历可迭代对象,另一种是使用range()函数生成一个范围内的数字序列。
直接遍历可迭代对象
```python
my_list = [1, 2, 3, 4, 5]
for item in my_list:
print(item)
# 输出:
# 1
# 2
# 3
# 4
# 5
```
使用range()函数
range()函数可以生成一个整数序列(左闭右开)就是包括左边的数不包括右边的数,常用于需要控制循环次数的场景。
```python
for i in range(5): # 生成0到4的整数序列
print(i)
for i in range(1, 6): # 生成1到5的整数序列
print(i)
for i in range(1, 10, 2): # 生成1到9的奇数序列,2为步长,在这里就是数字每次增加2
print(i)
```
range()函数步长还可以设置为负数实现倒序遍历。
```python
for i in range(4, 1, -1): # 生成4到0的倒序整数序列
print(i)
# 输出:
# 4
# 3
# 2
# 右区间不包括所以没有1
```
3. break与continue
在循环中,`break`和`continue`语句用于控制循环的执行流程。
break
break语句用于立即终止循环,跳出整个循环体。
```python
for i in range(10):
if i == 5:
break
print(i)
# 输出:0 1 2 3 4
```
当i = 5 时,if判断语句后条件为真,代码执行beak,结束for循环,程序结束。
continue
continue语句用于跳过当前循环,使本次循环剩下的语句不在执行,并继续下一次循环。
```python
for i in range(10):
if i % 2 == 0:
continue
print(i)
# 输出:1 3 5 7 9
```
当i为偶数执行cotinue语句,所以不会执行打印语句print函数。
4. for与else
在Python中,for循环可以与else语句结合使用。当for循环正常结束(即没有遇到break语句)时,会执行else块中的代码。
```python
# 第一个循环
for i in range(5): # 生成从 0 到 4 的整数序列
print(i)
else:
print("循环正常结束") # 循环正常结束时执行
# 输出:
# 0
# 1
# 2
# 3
# 4
# 循环正常结束
# 第二个循环
for i in range(5):
if i == 3:
break
print(i)
else:
print("循环正常结束") # 循环正常结束时执行(但这里不会执行,因为循环被 break 中断)
# 输出:
# 0
# 1
# 2
```
5. 循环嵌套
循环嵌套是指在一个循环内部再嵌套另一个循环。这种结构常用于处理多维数据或需要多次遍历的场景。
```python
for i in range(3):
for j in range(3):
print(f"i={i}, j={j}")
# 输出结果
# i=0, j=0
# i=0, j=1
# i=0, j=2
# i=1, j=0
# i=1, j=1
# i=1, j=2
# i=2, j=0
# i=2, j=1
# i=2, j=2
```
i 变一次,j 变一轮!!!
通过本文的介绍,相信你对Python中的循环有了更深入的了解。掌握这些基础知识,将有助于你编写更高效、更优雅的Python代码。