1.1.3 流程控制
流程控制是编程中最常见的结构,决定了代码的执行路径和处理逻辑。掌握 Python 的流程控制能够编写灵活、高效的业务代码,也是 Django 项目开发的基础。
一、条件分支:if / elif / else
用于根据条件执行不同代码块。
1. 基本语法
if 条件1:
代码块1
elif 条件2:
代码块2
else:
代码块3
2. 示例
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
注意:
- 条件为 True 时执行对应代码块,判断顺序自上而下。
- 支持多分支嵌套、条件可以是任意表达式。
3. 缩进规则
- Python 使用缩进表示代码块,通常为 4 个空格。
二、循环结构
1. for循环
用于遍历序列、集合、字典等可迭代对象。
1.1 基本语法
for 变量 in 可迭代对象:
代码块
1.2 示例
names = ["Tom", "Jerry", "Spike"]
for name in names:
print(name)
1.3 遍历字典
user = {"name": "Alice", "age": 23}
for key, value in user.items():
print(key, value)
2. while循环
用于重复执行代码块,直到条件不成立。
2.1 基本语法
while 条件:
代码块
2.2 示例
count = 0
while count < 5:
print(count)
count += 1
三、break、continue、else
1. break
- 用于提前终止循环。
for i in range(10):
if i == 5:
break
print(i)
# 输出 0~4,遇到5终止循环
2. continue
- 跳过当前循环剩余部分,进入下一轮。
for i in range(5):
if i % 2 == 0:
continue
print(i)
# 输出 1, 3(跳过偶数)
3. 循环的 else 子句
- 当循环正常结束(未被 break 打断)时执行 else 代码块。
for i in range(5):
print(i)
else:
print("循环正常结束")
- 常用于搜索结构:
for char in "django":
if char == "z":
print("找到了")
break
else:
print("没有找到")
# 输出 "没有找到"
四、推导式(列表、集合、字典)
Python 推导式是简洁高效创建新列表、集合或字典的语法。
1. 列表推导式
# 语法:[表达式 for 变量 in 可迭代对象 if 条件]
squares = [x**2 for x in range(5)]
evens = [x for x in range(10) if x % 2 == 0]
2. 集合推导式
unique_lengths = {len(name) for name in ["Tom", "Jerry", "Spike"]}
3. 字典推导式
# 语法:{key_expr: value_expr for 变量 in 可迭代对象 if 条件}
dict_map = {x: x**2 for x in range(5)}
4. 嵌套推导式
pairs = [(x, y) for x in range(3) for y in range(3)]
五、实用小结
- 条件分支让你的代码能灵活应对各种情况
- 循环用于批量数据处理、遍历等场景
- break/continue/else 让流程更可控
- 推导式让数据创建和过滤变得简洁高效,是数据处理和 Django 模板渲染常用技巧