掌握 if、if-else、if-elif-else 的基本语法与执行逻辑
理解短路写法(单行条件表达式)及其适用场景
学会使用嵌套条件处理复杂判断逻辑
了解 Python 3.10 引入的 match-case 模式匹配机制
能够根据问题需求选择最清晰、高效的条件控制结构
条件语句用于根据布尔表达式的真假,决定程序执行哪一段代码。它是实现程序“智能决策”的基础,使代码能够对不同输入或状态做出不同响应。Python 中的条件语句主要包括:
if
if-else
if-elif-else
嵌套 if
三元条件表达式(单行 if-else)
match-case(Python 3.10+)
当条件为 True 时,执行缩进代码块。
语法
if condition:
# 执行语句示例
age = 20
if age >= 18:
print("Eligible to vote.")输出:
Eligible to vote.注意:Python 使用缩进(通常 4 个空格)定义代码块,而非大括号
{}。
提供两种互斥的执行路径:条件为真时执行 if 块,否则执行 else 块。
语法
if condition:
# 条件为真时执行
else:
# 条件为假时执行示例
age = 10
if age <= 12:
print("Travel for free.")
else:
print("Pay for ticket.")输出:
Travel for free.用于检查多个互斥条件,按顺序评估,一旦某个条件为真,执行对应代码块并跳过后续分支。
语法
if condition1:
# ...
elif condition2:
# ...
elif condition3:
# ...
else:
# 所有条件都不满足时执行示例
age = 25
if age <= 12:
print("Child.")
elif age <= 19:
print("Teenager.")
elif age <= 35:
print("Young adult.")
else:
print("Adult.")输出:
Young adult.提示:
elif是 “else if” 的缩写;else块是可选的。
在一个条件语句内部再包含另一个条件语句,适用于分层判断逻辑。
示例
age = 70
is_member = True
if age >= 60:
if is_member:
print("30% senior discount!")
else:
print("20% senior discount.")
else:
print("Not eligible for a senior discount.")输出:
30% senior discount!注意:过度嵌套会降低可读性,建议通过提前返回或逻辑合并来简化。
三元运算符
用于在一行内完成简单条件赋值或输出,使代码更简洁。
value_if_true if condition else value_if_falsemarks = 45
result = "Pass" if marks >= 40 else "Fail"
print(f"Result: {result}")输出:
Result: Passage = 20
status = "Adult" if age >= 18 else "Minor"
print(status) # Adult适用场景:简单判断、变量初始化、返回值选择等。
不适合复杂逻辑或多行操作。
Python 3.10 引入的新特性,类似于其他语言中的 switch-case,但功能更强大,支持模式匹配。
语法
match variable:
case pattern1:
# 匹配时执行
case pattern2 | pattern3: # 多值匹配
# ...
case _: # 通配符(默认情况,相当于 else)
# ...示例
number = 2
match number:
case 1:
print("One")
case 2 | 3: # 匹配 2 或 3
print("Two or Three")
case _: # 默认情况
print("Other number")输出:
Two or ThreePython 在条件中自动将值转换为布尔类型。以下值被视为 False(假值):
None
False
数值零:0, 0.0, 0j
空容器:'', [], (), {}, set()
自定义对象若定义了 __bool__() 或 __len__() 并返回 False/0
其余所有值均为 True(真值)。
示例
if []:
print("不会执行") # 空列表为假值
if "hello":
print("会执行") # 非空字符串为真值if 是最基本的条件控制结构,依赖布尔表达式。
if-else 提供二选一分支,if-elif-else 支持多分支。
单行三元表达式 a if cond else b 适用于简单条件赋值。
嵌套 if 可处理层级判断,但应避免过深。
match-case(Python 3.10+)是现代、强大的模式匹配工具。
所有非假值在条件中均视为 True,理解真值 / 假值规则至关重要。
缩进是 Python 语法的核心,必须严格遵守。
以下代码输出什么?为什么?
x = 10
if x > 5:
print("A")
elif x > 8:
print("B")
else:
print("C")如何用 match-case 重写一个判断用户输入命令(如 "start", "stop", "restart")的程序?
在什么情况下,使用多个独立的 if 语句比 if-elif-else 更合适?请举例说明。