Python 中,if 和 if not 都是条件判断语句,用于根据表达式的布尔值(True 或 False)决定是否执行特定代码块

在 Python 中,if 和 if not 都是条件判断语句,用于根据表达式的布尔值(True 或 False)决定是否执行特定代码块。

两者的核心区别在于:

if 用于判断表达式的布尔值为 True 时执行代码;
if not 用于判断表达式的布尔值为 False 时执行代码(not 是逻辑 “非” 运算符,会反转布尔值)。

一、if 的作用及示例

if 后面跟一个表达式,当表达式的布尔值为 True 时,执行 if 缩进块内的代码。

常见场景:

判断数值是否满足条件

age = 18
if age >= 18:  # 表达式 "age >= 18" 的布尔值为 True
    print("已成年")  # 输出:已成年

判断变量是否为 “有意义” 的值

(非空字符串、非空列表、非零数值等的布尔值为 True)

name = "Alice"
if name:  # 非空字符串的布尔值为 True
    print(f"姓名:{name}")  # 输出:姓名:Alice

判断条件是否成立

is_student = True
if is_student:  # 变量本身是 True
    print("是学生")  # 输出:是学生

二、if not 的作用及示例

if not 即当表达式的布尔值为 False 时,执行缩进块内的代码。if not x 等价于 if bool(x) is False,即当 x 表达式的布尔值为 False 时,条件成立。
if not x 的核心作用是判断 x 是否为 “空 / 零 / 无意义” 的值,常用于:

  • 检查变量是否初始化(是否为 None)
  • 验证容器是否为空(如列表、字符串是否有内容)
  • 过滤无效数值(如排除零值)
    通过 if not 可以简洁地处理 “空值判断” 场景,让代码更简洁易懂。

常见场景:

判断变量是否为 None

data = None
if not data:  # data 的布尔值为 False
    print("data数据为空")  # 输出:data数据为空

判断容器是否为空

(空字符串、空列表、空字典等的布尔值为 False)

scores = []  # 空列表的布尔值为 False
if not scores:
    print("没有成绩记录")  # 输出:没有成绩记录

判断数值是否为零

count = 0  # 0 的布尔值为 False
if not count:
    print("数量为零")  # 输出:数量为零

判断条件是否不成立

has_error = False
if not has_error:  # not False 等价于 True
    print("程序执行正常")  # 输出:程序执行正常

通过 if 和 if not 的配合,可以覆盖各种条件判断场景,让代码逻辑更清晰。

if not False 与 if True 在 Python 中是等价的。

解析:
False 是一个布尔值,它代表 假。
not False 将 假 转换为 真,即 not False 的结果是 True。
if not False 实际上等同于 if True,即判断条件是 真,因此会执行 if 块中的代码。
所以,if not False 和 if True 具有相同的效果,都会让条件为 True,因此代码块会被执行。

image

posted @ 2025-09-02 17:46  大海一个人听  阅读(219)  评论(0)    收藏  举报