python - 条件判断

在 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)
相关推荐
IT_Octopus1 小时前
【零基础入门 LLM 开发 · Day 13】:LangChain 的对话记忆——Message 对象版
人工智能·python·langchain
2603_965148111 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
CCblandy2 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
Cc.Y3 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python
拿本唠嗑AI研究3 小时前
本体工程实战指南:从建模到可维护的完整落地路径
java·人工智能·python·jena·ontology
Smoothcloud润云4 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
jsjzsl24 小时前
递归自改进系统(RSI)的本质是自发对称破缺:智能爆炸有界—— AI研发切记盲目投入
人工智能·python·算法
2601_954811824 小时前
机器视觉教学套件选型指南:五维技术参数对比与课程体系评估
python·数码相机
小马不起床5 小时前
零基础玩转 FastAPI_05:后端课程模块
python·fastapi
小王2045 小时前
Day 41:模型注意力机制 — SE / CBAM / ECA
python·深度学习·机器学习