以下是 Python 中循环语句的详细说明,包括语法、示例和常见用法:
---
### **一、`for` 循环**
用于遍历序列(列表、元组、字符串等)或其他可迭代对象。
#### **基本语法**
```python
for 变量 in 可迭代对象:
# 循环体
```
#### **示例**
1. **遍历列表**
```python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 输出:apple → banana → cherry
```
2. **遍历数字范围**
使用 `range(start, end, step)` 生成序列:
```python
for i in range(5): # 0到4(不包含5)
print(i) # 输出:0 1 2 3 4
for i in range(2, 10, 2): # 从2开始,步长2,到8结束
print(i) # 输出:2 4 6 8
```
3. **遍历字典**
```python
person = {"name": "Alice", "age": 30}
for key in person:
print(key, "->", person[key])
# 输出:name -> Alice → age -> 30
```
---
### **二、`while` 循环**
在条件为真时重复执行代码块。
#### **基本语法**
```python
while 条件:
# 循环体
```
#### **示例**
1. **基础用法**
```python
count = 0
while count < 5:
print(count)
count += 1 # 输出:0 1 2 3 4
```
2. **无限循环与 `break`**
```python
while True:
user_input = input("输入 'exit' 退出:")
if user_input == "exit":
break # 跳出循环
```
---
### **三、循环控制语句**
1. **`break`**
立即终止当前循环:
```python
for num in [1, 2, 3, 4, 5]:
if num == 3:
break
print(num) # 输出:1 2
```
2. **`continue`**
跳过当前迭代,进入下一次循环:
```python
for num in [1, 2, 3, 4, 5]:
if num == 3:
continue
print(num) # 输出:1 2 4 5
```
3. **`else`**
当循环正常结束(未被 `break` 中断)时执行:
```python
for num in range(3):
print(num)
else:
print("循环完成") # 输出:0 1 2 → 循环完成
```
---
### **四、高级用法**
1. **嵌套循环**
```python
for i in range(3):
for j in range(2):
print(f"({i}, {j})")
# 输出:(0,0) → (0,1) → (1,0) → (1,1) → (2,0) → (2,1)
```
2. **列表推导式(简化循环)**
```python
squares = [x**2 for x in range(5)] # 生成 [0, 1, 4, 9, 16]
```
3. **`enumerate()` 遍历索引和值**
```python
fruits = ["apple", "banana", "cherry"]
for index, value in enumerate(fruits):
print(index, "->", value)
# 输出:0 -> apple → 1 -> banana → 2 -> cherry
```
---
### **五、注意事项**
- **避免无限循环**:确保 `while` 循环的条件最终会变为 `False`。
- **优先选择 `for`**:遍历序列时 `for` 更简洁安全。
- **优化性能**:减少循环内部的计算量,必要时使用向量化操作(如 NumPy)。
---
通过灵活使用这些循环和控制语句,可以高效处理重复性任务。