Python 中的条件语句用于根据不同的条件执行不同的代码块,核心是 if、elif(else if 的缩写)和 else,语法简洁且依赖缩进 (通常是 4 个空格)来区分代码块,而非大括号 {}。
一、基本语法结构
python
if 条件1:
# 条件1为 True 时执行的代码(注意缩进)
代码块1
elif 条件2:
# 条件1为 False,且条件2为 True 时执行的代码
代码块2
else:
# 所有条件都为 False 时执行的代码
代码块3
- 执行逻辑 :从上到下判断条件,一旦某个条件为
True,执行对应的代码块后,整个条件语句结束;若所有条件都为False,则执行else代码块(else可选)。
二、具体使用场景
1. 单条件判断(仅 if)
当只需判断一个条件,满足时执行代码,不满足则跳过:
python
age = 18
if age >= 18:
print("已成年,可独立购票") # 条件成立,执行此句
2. 二选一判断(if-else)
满足条件执行 A,不满足执行 B:
python
score = 55
if score >= 60:
print("考试及格")
else:
print("考试不及格,需要补考") # 条件不成立,执行此句
3. 多条件判断(if-elif-else)
有多个条件需要依次判断,适合分档场景(如成绩评级):
python
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好") # 85 >=80 成立,执行此句
elif score >= 60:
print("及格")
else:
print("不及格")
4. 嵌套条件语句
条件内部再包含条件判断(注意缩进层级):
python
num = 15
if num > 10:
print("数字大于10")
if num % 2 == 0:
print("且是偶数")
else:
print("且是奇数") # 15>10且是奇数,执行此句
else:
print("数字小于等于10")
三、条件表达式(三元运算符)
简洁版的 if-else,适合简单的二选一赋值场景:
python
# 语法:结果1 if 条件 else 结果2
result = "及格" if score >= 60 else "不及格"
# 等价于:
if score >= 60:
result = "及格"
else:
result = "不及格"
示例:
python
a, b = 5, 10
max_num = a if a > b else b
print(max_num) # 输出:10
四、条件判断中的常见运算符
条件语句的"条件"本质是一个返回 True 或 False 的表达式,常用运算符:
| 类型 | 运算符 | 示例(结果为 bool) |
|---|---|---|
| 比较运算符 | ==(等于)、!=(不等) |
3 == 5 → False;"a" != "b" → True |
>、<、>=、<= |
10 > 5 → True;7 <= 3 → False |
|
| 逻辑运算符 | and(与,全为真才真) |
(5>3) and (2>1) → True |
or(或,有一个真就真) |
(5>8) or (2>1) → True |
|
not(非,取反) |
not (5>3) → False |
示例:
python
# 逻辑运算符组合条件
age = 20
has_id = True
if age >= 18 and has_id:
print("可进入网吧") # 两个条件都满足,执行此句
五、注意事项
-
缩进规则 :
if、elif、else后的代码块必须缩进(通常 4 个空格),同一代码块缩进量需一致,否则会报错。 -
冒号结尾 :
if、elif、else语句必须以冒号:结尾,标志着代码块的开始。 -
非布尔值的条件判断 :Python 中,除了
False,以下值也会被视为"假"(False):- 数字
0、0.0 - 空字符串
""、空列表[]、空字典{}、空元组()、None其他值均视为"真"(True)。
示例:
pythons = "" if s: # 空字符串视为False,不执行 print("字符串非空") else: print("字符串为空") # 执行此句 - 数字
总结
条件语句是控制程序流程的核心工具,通过 if-elif-else 可实现多分支逻辑,嵌套使用能处理复杂场景,而三元运算符则适合简化简单的二选一赋值。多练习成绩判断、权限验证等场景,能快速掌握其用法。