在Python中,if
语句是实现条件分支的核心控制结构。以下是其详细内容讲解:
一、基础语法
1. 单条件判断
if 条件表达式:
# 条件为True时执行的代码块
- 示例:
age = 18 if age >= 18: print("已成年")
2. 双分支判断(if-else
)
if 条件表达式:
# 条件为True时执行
else:
# 条件为False时执行
- 示例:
num = 7 if num % 2 == 0: print("偶数") else: print("奇数")
3. 多条件判断(if-elif-else
)
if 条件1:
# 条件1为True时执行
elif 条件2:
# 条件2为True时执行
else:
# 所有条件均为False时执行
- 示例:
score = 85 if score >= 90: print("A") elif score >= 80: print("B") else: print("C")
二、条件表达式规则
-
比较运算符:
==
,!=
,>
,<
,>=
,<=
- 链式比较:
10 < x < 20
(等价于x > 10 and x < 20
)
-
逻辑运算符:
and
(与),or
(或),not
(非)- 短路特性:
and
遇到False
立即停止,or
遇到True
立即停止。
-
成员运算符:
in
(存在),not in
(不存在)- 示例:
if 'a' in ['a', 'b', 'c']
-
身份运算符:
is
(同一对象),is not
- 示例:
if x is None
-
真值测试:
False
:0
,""
,[]
,None
,False
等空值。True
:非零数值、非空容器等。
三、嵌套if
语句
if 条件1:
if 嵌套条件:
# 嵌套代码块
else:
# 嵌套else
else:
# 外层else
- 示例:
username = "admin" password = "123456" if username == "admin": if password == "123456": print("登录成功") else: print("密码错误") else: print("用户名错误")
四、三元条件表达式
简化单行条件赋值:
变量 = 值1 if 条件 else 值2
- 示例:
x = 10 y = "正数" if x > 0 else "非正数"
五、特殊用法与注意事项
-
单行
if
语句(不推荐复杂逻辑):if x > 0: print("正数")
-
空代码块占位:
使用pass
避免语法错误:if x < 0: pass # 待实现 else: print("非负数")
-
elif
替代switch-case
:
Python没有switch
语句,用if-elif-else
链替代:day = 3 if day == 1: print("周一") elif day == 2: print("周二") # ...其他条件
-
避免常见错误:
- 误用
=
代替==
:if x = 5
会报错。 - 缩进错误:Python依赖缩进定义代码块。
- 浮点数精度比较:建议使用范围判断(如
abs(a - b) < 1e-9
)。
- 误用
六、实战示例
场景:根据用户输入显示不同响应
user_input = input("请输入命令:")
if user_input.lower() == "exit":
print("退出程序")
elif user_input.lower() == "help":
print("显示帮助信息")
else:
print("未知命令")
总结
if
语句通过条件表达式控制代码执行路径。- 合理使用
elif
和else
处理多分支逻辑。 - 注意Python的缩进规则和真值测试特性。
- 复杂条件建议拆分为多个变量或使用括号明确优先级。
通过掌握这些内容,你可以高效编写基于条件的Python程序逻辑。