15.1 如果…就… #
if 根据条件是否为真决定执行哪段代码。条件为假时,对应代码块被跳过。
15.2 三种基本结构 #
15.2.1 if #
age = 20
if age >= 18:
print("已成年")15.2.2 if-else #
is_active = False
if is_active:
print("账号正常")
else:
print("账号已停用")15.2.3 if-elif-else #
按顺序判断,第一个为真的分支执行后结束,不再检查后面的 elif:
status_code = 404
if status_code == 200:
message = "成功"
elif status_code == 404:
message = "资源不存在"
elif status_code >= 500:
message = "服务器错误"
else:
message = "其他错误"
print(message) # 资源不存在15.3 缩进 #
Python 用缩进表示代码块(通常 4 个空格),不是花括号。if 下一行必须缩进,否则报 IndentationError。
if True:
print("在 if 块内")
print("在 if 块外")15.4 条件表达式 #
if 后的条件最终会被当作布尔值判断
role = "admin"
user_id = 123
if role == "admin" or user_id == 1:
print("有管理权限")
if role not in ("guest", "banned"):
print("允许访问")
items = []
if items: # 空列表为假
print("有数据")15.5 三元表达式 #
二选一赋值时,可用一行写法:
is_vip = True
discount = 0.8 if is_vip else 1.0
print(discount)
enabled = False
label = "启用" if enabled else "禁用"
print(label)复杂逻辑仍用完整的 if-else,不要嵌套多层三元表达式。
15.6 项目开发要点 #
elif顺序很重要:把更具体、更严格的条件放前面(先判断404,再判断>= 500)- 优先用
elif而不是多个独立if:多分支互斥时,避免重复执行 - 判断空值:
if user:、if not items:比if len(items) > 0:更常见 - 避免过深嵌套:超过 2~3 层考虑提前
return或拆函数 - 权限、状态码、表单校验:是项目里
if最高频场景,保持分支清晰、命名明确 - 不要用
if x == True:直接写if x:或if is_active: