如何在 Python 中检查值是否为 `False`

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何在 Python 中检查一个值是否为 False。实验首先会探讨 False 值,展示如何将 False 赋值给一个变量、打印其值和类型,以及在条件语句中使用它。你将创建一个 false_values.py 文件,将 False 赋值给 is_valid,并使用 if 语句检查其值。

接着,实验会解释如何直接与 False 进行比较,以及如何将其与假值(falsy values)区分开来。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559592{{"如何在 Python 中检查值是否为 `False`"}} python/conditional_statements -.-> lab-559592{{"如何在 Python 中检查值是否为 `False`"}} python/data_collections -.-> lab-559592{{"如何在 Python 中检查值是否为 `False`"}} end

探索 False

在这一步中,你将学习 Python 中的 False 值。理解 False 值对于编写条件语句和控制程序流程至关重要。在 Python 中,False 是一个内置常量,代表布尔值假。它是两个布尔值之一,另一个是 True

让我们首先使用 VS Code 编辑器在你的 ~/project 目录下创建一个名为 false_values.py 的 Python 文件。

~/project/false_values.py

现在,在编辑器中打开 false_values.py 并添加以下代码:

## Assign the boolean value False to a variable
is_valid = False

## Print the value of the variable
print(is_valid)

## Check the type of the variable
print(type(is_valid))

这段代码片段首先将布尔值 False 赋值给变量 is_valid。然后,它打印该变量的值及其类型。

要运行这个脚本,请打开终端并执行以下命令:

python ~/project/false_values.py

你应该会看到以下输出:

False
<class 'bool'>

这个输出确认了变量 is_valid 保存着布尔值 False,并且其类型为 bool

现在,让我们探索如何在条件语句中使用 False 值。修改你的 false_values.py 文件,加入以下代码:

is_valid = False

if is_valid == False:
    print("The value is False")
else:
    print("The value is True")

在这个例子中,我们使用 if 语句来检查 is_valid 的值是否等于 False。如果是,则执行 if 块内的代码;否则,执行 else 块内的代码。

再次运行脚本:

python ~/project/false_values.py

你应该会看到以下输出:

The value is False

这个输出展示了如何根据特定条件,使用 False 值来控制程序的流程。

直接与 False 进行比较

在这一步中,你将学习如何在 Python 中直接将值与 False 进行比较。直接与 False 进行比较有时可以使代码更具可读性和简洁性。

继续使用你在上一步中创建的 false_values.py 文件。我们将对其进行修改,以演示如何直接与 False 进行比较。

在 VS Code 编辑器中打开 false_values.py,并将代码修改为以下内容:

is_valid = False

if is_valid is False:
    print("The value is False")
else:
    print("The value is True")

在这个例子中,我们使用 is 运算符来检查变量 is_valid 是否与 False 完全相同。is 运算符检查对象的身份,即验证两个变量是否引用内存中的同一个对象。对于布尔值,is== 的行为通常相似,但在检查 TrueFalse 时,通常更推荐使用 is,因为它们是单例对象。

运行脚本:

python ~/project/false_values.py

你应该会看到以下输出:

The value is False

现在,让我们考虑一个稍有不同的场景。修改你的 false_values.py 文件,加入以下代码:

is_valid = False

if not is_valid:
    print("The value is False")
else:
    print("The value is True")

在这个例子中,我们使用 not 运算符来检查 is_valid 是否为 Falsenot 运算符对变量的布尔值取反。这是一种常见且简洁的检查变量是否为 False 的方法。

再次运行脚本:

python ~/project/false_values.py

你应该会看到相同的输出:

The value is False

在 Python 中,is Falsenot is_valid 都是检查 False 值的有效方法。选择使用哪种方法通常取决于个人偏好和代码的可读性。not 运算符通常被认为更具 Python 风格,也更易于阅读。

区分 False 值与假值

在这一步中,你将学习区分 Python 中的布尔值 False 和其他“假值”(falsy values)。在 Python 中,某些值被视为“假值”,因为它们在布尔上下文中会被评估为 False,尽管它们并非显式的 False。理解这种区别对于编写准确的条件语句至关重要。

常见的假值包括:

  • False(布尔值)
  • None
  • 0(任何数值类型的零:intfloat 等)
  • ""(空字符串)
  • [](空列表)
  • {}(空字典)
  • ()(空元组)

让我们修改 false_values.py 文件来探索假值。在 VS Code 编辑器中打开 false_values.py 并添加以下代码:

def check_falsy(value):
    if value:
        print(f"{value!r} is truthy")
    else:
        print(f"{value!r} is falsy")

check_falsy(False)
check_falsy(None)
check_falsy(0)
check_falsy("")
check_falsy([])
check_falsy({})
check_falsy(())

这段代码定义了一个名为 check_falsy 的函数,它接受一个值作为输入,并使用 if 语句检查该值是真值(truthy)还是假值。然后,它使用不同的假值调用该函数。f-string 中的 !r 确保打印出值的表示形式,这有助于区分不同类型的空值。

运行脚本:

python ~/project/false_values.py

你应该会看到以下输出:

False is falsy
None is falsy
0 is falsy
'' is falsy
[] is falsy
{} is falsy
() is falsy

这个输出表明,我们传递给 check_falsy 函数的所有值在 Python 中都被视为假值。

现在,让我们看看这会如何影响条件语句。修改你的 false_values.py 文件,加入以下代码:

empty_list = []

if empty_list:
    print("The list is not empty")
else:
    print("The list is empty")

在这个例子中,我们检查一个空列表是真值还是假值。由于空列表是假值,else 块内的代码将被执行。

运行脚本:

python ~/project/false_values.py

你应该会看到以下输出:

The list is empty

理解假值对于编写正确且高效的 Python 代码至关重要。在编写条件语句时,要留意这些值,确保你的代码按预期运行。

总结

在本次实验中,你首先探索了 Python 中的 False 值,了解到 False 是一个内置常量,代表布尔类型的假值。你创建了一个 false_values.py 文件,将 False 赋值给一个变量,并打印出该变量的值和类型,从而确认它是一个布尔值。

接着,你使用 if 语句检查变量的值是否等于 False,展示了 False 值如何根据条件控制程序的流程。本实验还将继续探索如何直接与 False 进行比较,以及如何区分 False 和其他假值(falsy values)。