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)
相关推荐
前端小趴菜0524 分钟前
python - 元组常用操作
python
前端小趴菜0531 分钟前
python - 列表方法
python
前端小趴菜0540 分钟前
组合数据类型
python
Kan先生43 分钟前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python
秋难降43 分钟前
别再用暴力排序了!大小顶堆让「取极值」效率飙升至 O (log n)
python·算法·排序算法
诗人啊_程序员44 分钟前
Flask 路由与视图函数绑定机制
后端·python·flask
runfarther1 小时前
搭建LLaMA-Factory环境
linux·运维·服务器·python·自然语言处理·ai编程·llama-factory
@半良人1 小时前
Deepseek+python自动生成禅道测试用例
开发语言·python·测试用例
铁锚1 小时前
在MAC环境中安装unsloth
人工智能·python·macos·语言模型