在 Python 中,条件判断 是通过 if
、elif
和 else
语句实现的,用于根据布尔值(True
/False
)控制程序执行流程。以下是详细总结和示例:
1. 基本语法
(1) if
语句
python
if 条件:
# 条件为 True 时执行的代码
示例:
python
age = 18
if age >= 18:
print("已成年") # 输出:已成年
(2) if-else
语句
python
if 条件:
# 条件为 True 时执行
else:
# 条件为 False 时执行
示例:
python
age = 16
if age >= 18:
print("已成年")
else:
print("未成年") # 输出:未成年
(3) if-elif-else
语句
bash
python
if 条件1:
# 条件1为 True 时执行
elif 条件2:
# 条件2为 True 时执行
else:
# 其他情况执行
示例:
bash
python
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格") # 输出:及格
else:
print("不及格")
2. 高级用法
(1) 条件表达式(三元运算)
python
值1 if 条件 else 值2
示例:
python
age = 20
status = "成年" if age >= 18 else "未成年"
print(status) # 输出:成年
(2) 嵌套条件判断
python
num = 10
if num > 0:
if num % 2 == 0:
print("正偶数") # 输出:正偶数
else:
print("正奇数")
else:
print("非正数")
(3) 逻辑运算符组合条件
and
:所有条件为True
时返回True
。or
:任意条件为True
时返回True
。not
:取反。
示例:
python
age = 25
is_student = False
if age >= 18 and not is_student:
print("成年人且非学生") # 输出:成年人且非学生
if age < 18 or is_student:
print("未成年或是学生") # 不执行
3. 特殊场景
(1) 成员资格测试
用 in
或 not in
检查元素是否在序列中:
python
fruits = ["apple", "banana", "orange"]
if "apple" in fruits:
print("有苹果") # 输出:有苹果
if "pear" not in fruits:
print("没有梨") # 输出:没有梨
(2) 真值测试
Python 中以下值被视为 False
,其余为 True
:
False
、None
、0
、""
(空字符串)、[]
(空列表)、{}
(空字典)。
示例:
python
if "":
print("不会执行")
else:
print("空字符串是 False") # 输出
4. 常见错误
(1) 缩进错误
python
if True:
print("缩进错误") # IndentationError
正确写法:
python
if True:
print("正确缩进")
(2) 混淆 =
和 ==
python
if age = 18: # SyntaxError(赋值不能用于条件)
print("错误")
正确写法:
python
if age == 18: # 比较用 ==
print("正确")
总结
-
基本结构 :
if
、elif
、else
控制分支逻辑。 -
逻辑组合 :用
and
、or
、not
组合条件。 -
简洁写法 :三元运算
x if cond else y
。 -
注意事项:
- 缩进必须一致(通常 4 空格)。
- 比较用
==
,赋值用=
。 - 空值、
0
、False
等会被视为False
。
match
在 Python 3.10 及以上版本中,match-case
(模式匹配)是一种更强大的条件判断结构,类似于其他语言中的 switch-case
,但功能更强大,支持多种数据类型的模式匹配(如字符串、数字、列表、字典、类实例等)。
1. 基本语法
python
match 变量:
case 模式1:
# 匹配模式1时执行
case 模式2:
# 匹配模式2时执行
case _:
# 默认情况(类似 else)