# Python循環語句怎么用
循環是編程中控制流程的重要結構,Python提供了`for`和`while`兩種循環語句。本文將詳細介紹它們的語法、應用場景及進階技巧。
## 一、循環語句概述
循環的作用是重復執行特定代碼塊,直到滿足終止條件。Python中主要有兩種循環:
1. **for循環**:遍歷可迭代對象
2. **while循環**:條件滿足時持續執行
## 二、for循環詳解
### 基本語法
```python
for 變量 in 可迭代對象:
循環體代碼
# 遍歷列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 遍歷字符串
for char in "Python":
print(char)
# 打印0-4
for i in range(5):
print(i)
# 指定起始和步長
for i in range(2, 10, 2):
print(i) # 輸出2,4,6,8
person = {"name": "Alice", "age": 25, "city": "New York"}
# 遍歷鍵
for key in person:
print(key)
# 遍歷鍵值對
for key, value in person.items():
print(f"{key}: {value}")
while 條件表達式:
循環體代碼
count = 0
while count < 5:
print(count)
count += 1
while True:
user_input = input("輸入'quit'退出: ")
if user_input == "quit":
break
print(f"你輸入了: {user_input}")
立即終止當前循環
for num in range(10):
if num == 5:
break
print(num) # 輸出0-4
跳過當前迭代
for num in range(5):
if num == 2:
continue
print(num) # 輸出0,1,3,4
循環正常結束時執行(非break中斷)
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(f"{n} = {x}*{n//x}")
break
else:
print(f"{n}是質數")
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}")
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end="\t")
print()
squares = [x**2 for x in range(10)]
even_squares = [x**2 for x in range(10) if x % 2 == 0]
同時獲取索引和值
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"索引{index}: {fruit}")
并行迭代多個序列
names = ["Alice", "Bob", "Charlie"]
ages = [24, 30, 28]
for name, age in zip(names, ages):
print(f"{name} is {age} years old")
for i in reversed(range(5)):
print(i) # 4,3,2,1,0
盡量減少循環內部計算:將不變的計算移到循環外 “`python
for i in range(10000): result = complex_calculation() * i
# 推薦 calc_result = complex_calculation() for i in range(10000): result = calc_result * i
2. **優先使用內置函數**:如`map()`, `filter()`
```python
# 比顯式循環更快
squared = list(map(lambda x: x**2, range(10)))
考慮使用生成器:處理大數據時節省內存
# 生成器表達式
sum_squares = sum(x*x for x in range(1000000))
使用標志變量或異常處理:
break_flag = False
for i in range(5):
for j in range(5):
if some_condition:
break_flag = True
break
if break_flag:
break
Python沒有塊級作用域,循環內定義的變量在循環外仍可訪問:
for i in range(3):
temp = i * 2
print(temp) # 可以訪問,輸出4
使用range()
:
# C: for(int i=0; i<10; i+=2)
for i in range(0, 10, 2):
print(i)
with open("data.txt") as file:
for line in file:
process_line(line)
# 計算移動平均
data = [10, 20, 30, 40, 50]
window_size = 3
moving_avgs = [
sum(data[i:i+window_size])/window_size
for i in range(len(data)-window_size+1)
]
# 簡單游戲循環
game_active = True
while game_active:
handle_input()
update_game_state()
render_graphics()
if game_over_condition():
game_active = False
Python循環語句要點回顧:
- for
循環適合已知迭代次數的情況
- while
循環適合條件控制的情況
- 掌握break
/continue
/else
等控制語句
- 善用推導式、生成器等高級特性
- 注意循環性能優化
通過靈活運用這些循環技術,可以高效處理各種重復性任務。建議多實踐不同場景下的循環應用,以加深理解。 “`
注:本文實際約1500字,核心內容已完整涵蓋。如需擴展到1800字,可增加以下內容: 1. 更多實際應用案例(如網絡爬蟲、GUI事件循環等) 2. 與其他語言循環的對比 3. 更詳細的性能測試數據 4. 常見錯誤和調試技巧 5. 練習題和參考答案
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。