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)
相关推荐
困鲲鲲10 小时前
Python中内置装饰器
python
摩羯座-1856903059410 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
爱隐身的官人11 小时前
cfshow-web入门-php特性
python·php·ctf
gb421528711 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL11 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%11 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
蒋星熠12 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
爬虫程序猿12 小时前
《京东商品详情爬取实战指南》
爬虫·python
胡耀超12 小时前
4、Python面向对象编程与模块化设计
开发语言·python·ai·大模型·conda·anaconda
大佬,救命!!!14 小时前
整理python快速构建数据可视化前端的Dash库
python·信息可视化·学习笔记·dash·记录成长