python - 条件判断

在 Python 中,条件判断 是通过 ifelifelse 语句实现的,用于根据布尔值(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) 成员资格测试

innot in 检查元素是否在序列中:

python 复制代码
fruits = ["apple", "banana", "orange"]
if "apple" in fruits:
    print("有苹果")  # 输出:有苹果
 
if "pear" not in fruits:
    print("没有梨")  # 输出:没有梨

(2) 真值测试

Python 中以下值被视为 False,其余为 True

  • FalseNone0""(空字符串)、[](空列表)、{}(空字典)。

示例

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("正确")

总结

  • 基本结构ifelifelse 控制分支逻辑。

  • 逻辑组合 :用 andornot 组合条件。

  • 简洁写法 :三元运算 x if cond else y

  • 注意事项

    • 缩进必须一致(通常 4 空格)。
    • 比较用 ==,赋值用 =
    • 空值、0False 等会被视为 False

match

在 Python 3.10 及以上版本中,match-case (模式匹配)是一种更强大的条件判断结构,类似于其他语言中的 switch-case,但功能更强大,支持多种数据类型的模式匹配(如字符串、数字、列表、字典、类实例等)。


1. 基本语法

python 复制代码
match 变量:
    case 模式1:
        # 匹配模式1时执行
    case 模式2:
        # 匹配模式2时执行
    case _:
        # 默认情况(类似 else)
相关推荐
天呐草莓1 分钟前
集成学习 (ensemble learning)
人工智能·python·深度学习·算法·机器学习·数据挖掘·集成学习
BBB努力学习程序设计5 分钟前
Python多线程与多进程编程实战指南
python
雪落无尘处6 分钟前
Anaconda 虚拟环境配置全攻略+Pycharm使用虚拟环境开发:从安装到高效管理
后端·python·pycharm·conda·anaconda
Amelia11111118 分钟前
day36
python
不惑_27 分钟前
通俗理解多层感知机(MLP)
开发语言·人工智能·python·深度学习
山沐与山43 分钟前
【设计模式】Python责任链模式:从入门到实战
python·设计模式·责任链模式
luoluoal1 小时前
基于python的图像的信息隐藏技术研究(源码+文档)
python·mysql·django·毕业设计·源码
电商API_180079052471 小时前
淘宝商品视频提取API全解析:从授权到落地实战
爬虫·python·信息可视化·数据分析·音视频
计算机程序设计小李同学1 小时前
基于 Flask 的养猪场信息模拟系统
后端·python·flask
Iridescent11211 小时前
Iridescent:Day38
python