Python if else 让决策路径清晰
Python if else 根据条件真假选择执行哪个代码块。 当代码需要在两种结果之间做出选择(例如主要动作或兜底消息)时使用它。 它让分支保持清晰,这样需求变化时更容易调整。
Python If Else 示例:条件选择
输出:
输出将显示在这里...
输出:
运费: $7
示例解析
条件将订单总额与阈值比较,因此只有一个分支会输出。
Python 将比较结果评估为 True 或 False,当条件为假时 else 成为默认分支。
order_total >= 50的结果为False,因此选择else分支。- 条件不为真,所以
if分支被跳过。 - 输出表明执行了假分支并显示兜底信息。
常见错误
错误 1:用多个 if 代替 elif。
status = "vip"
# 错误:两个判断各自独立执行
if status == "vip":
price = 0
if status == "会员":
price = 5
status = "vip"
# 正确:在 if/elif/else 链中只会执行一个分支
if status == "vip":
price = 0
elif status == "会员":
price = 5
else:
price = 10
两个独立的 if 可能都会执行,后面的判断会覆盖前面的结果。
错误 2:用 == 与 None 比较。
token = None
# 错误:对象可以自定义相等性
if token == None:
print("没有 token")
token = None
# 正确:None 是单例,使用 Is 比较身份
if token is None:
print("没有 token")
is 可以避免自定义相等逻辑带来的误判,也更符合身份比较的意图。
错误 3:在 0 合法时依赖真值判断。
discount = 0
# 错误:0 合法但是假值
if discount:
print(f"{discount}% 折扣")
discount = 0
# 正确:0 有意义时应检查 None
if discount is not None:
print(f"{discount}% 折扣")
真值判断会把 0 视为 False,因此即使值合法也不会执行分支。
Python if else vs 条件表达式:怎么选
使用 if/else 当… | 使用条件表达式当… |
|---|---|
| 分支内需要多条语句或有副作用。 | 你只是在表达式中选择一个值。 |
| 可读性比简洁更重要。 | 条件和取值都短且清晰。 |
经验法则:动作型逻辑用完整 if/else,简单赋值用条件表达式。
何时使用 Python if else
- 当一个真/假决定控制两种不同动作或消息时使用。
- 有多个有序条件且只需命中第一个时,用
elif。 - 对于大量固定分支,使用
match或 查找字典 更清晰。 - 不要在表达式内做紧凑的值选择;条件表达式更简洁。
相关特性
elif 可以扩展决策链,match 适合处理多个固定分支,and/or 通过短路逻辑组合条件,只评估必要的检查。
当条件变长时,加上括号能明确优先级并减少错误。