如何在 Python 中检查值是否为假值

PythonPythonBeginner
立即练习

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

简介

在这个实验中,你将学习如何在 Python 中识别假值(falsy values)。理解假值对于编写有效的条件语句至关重要。

本实验将引导你列出常见的假值,如 FalseNone00.0''[]{}()。你将创建一个 Python 脚本,遍历这些值,并使用 if 语句验证它们的假值性质。此外,你将探索如何使用 not 运算符来检查一个值是否为假值。最后,你将学习如何使用 bool() 函数来测试假值。


Skills Graph

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

列出常见的假值

在 Python 中,某些值被视为“假值(falsy values)”,这意味着在布尔上下文里它们会被评估为 False。理解假值对于编写有效的条件语句和处理不同的数据类型至关重要。在这一步中,你将了解 Python 中常见的假值。

以下值在 Python 中通常被视为假值:

  • False:布尔值 False 本身。
  • None:表示值的缺失或空值。
  • 0:整数零。
  • 0.0:浮点数零。
  • '':空字符串。
  • []:空列表。
  • {}:空字典。
  • ():空元组。

让我们创建一个 Python 脚本来探究这些假值。

  1. 打开你的 WebIDE。
  2. 在文件资源管理器中,导航到 ~/project 目录。
  3. 创建一个名为 falsy_values.py 的新文件。

现在,让我们在这个文件中添加一些 Python 代码:

## falsy_values.py

falsy_values = [False, None, 0, 0.0, '', [], {}, ()]

for value in falsy_values:
    if value:
        print(f"{value} is truthy")
    else:
        print(f"{value} is falsy")

这个脚本会遍历一个包含常见假值的列表,并使用 if 语句检查它们的布尔值。

要运行这个脚本,在你的 WebIDE 中打开一个终端(如果你没看到终端,点击“Terminal” -> “New Terminal”)。然后,执行以下命令:

python falsy_values.py

你应该会看到以下输出:

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

这个输出证实了列表中的所有值在 Python 中确实被视为假值。

使用 not 运算符

在 Python 中,not 运算符是一个逻辑运算符,用于对其操作数的布尔值取反。如果操作数为 False,则返回 True;如果操作数为 True,则返回 False。当你想检查一个值是否为假值时,这个运算符特别有用。

让我们修改上一步中的 falsy_values.py 脚本,以使用 not 运算符。

  1. 在你的 WebIDE 中打开 falsy_values.py 文件。

  2. 修改脚本以包含 not 运算符:

## falsy_values.py

falsy_values = [False, None, 0, 0.0, '', [], {}, ()]

for value in falsy_values:
    if not value:
        print(f"{value} is falsy")
    else:
        print(f"{value} is truthy")

在这个修改后的脚本中,if not value: 条件用于检查该值是否为假值。如果 value 是假值,not value 会被评估为 Trueif 代码块内的代码将被执行。否则,如果 value 是真值,not value 会被评估为 Falseelse 代码块内的代码将被执行。

要运行这个脚本,在你的 WebIDE 中打开一个终端(如果你没看到终端,点击“Terminal” -> “New Terminal”)。然后,执行以下命令:

python falsy_values.py

你应该会看到以下输出:

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

输出与上一步相同,但现在我们使用 not 运算符来显式地检查假值。这可以使你的代码更具可读性,也更易于理解。

使用 bool() 函数进行测试

在 Python 中,bool() 函数用于将一个值转换为布尔值(TrueFalse)。当你将一个值传递给 bool() 函数时,如果该值为假值,它将返回 False;如果该值为真值,它将返回 True。这个函数提供了一种直接的方式来确定任何对象的布尔值。

让我们修改前几步中的 falsy_values.py 脚本,以使用 bool() 函数。

  1. 在你的 WebIDE 中打开 falsy_values.py 文件。

  2. 修改脚本以使用 bool() 函数:

## falsy_values.py

falsy_values = [False, None, 0, 0.0, '', [], {}, ()]

for value in falsy_values:
    boolean_value = bool(value)
    print(f"bool({value}) is {boolean_value}")

在这个修改后的脚本中,bool(value) 函数将 falsy_values 列表中的每个值转换为其对应的布尔值。结果随后存储在 boolean_value 变量中,并打印到控制台。

要运行这个脚本,在你的 WebIDE 中打开一个终端(如果你没看到终端,点击“Terminal” -> “New Terminal”)。然后,执行以下命令:

python falsy_values.py

你应该会看到以下输出:

bool(False) is False
bool(None) is False
bool(0) is False
bool(0.0) is False
bool() is False
bool([]) is False
bool({}) is False
bool(()) is False

这个输出展示了 bool() 函数如何将每个假值评估为 False

总结

在这个实验中,第一步着重识别 Python 中常见的假值,包括 FalseNone00.0''[]{}()。创建了一个 Python 脚本,用于遍历包含这些值的列表,并使用 if 语句来证明在布尔上下文中,每个值的计算结果都为 False。脚本的输出证实了这些值的假值性质。

接着,实验引入了 not 运算符,它用于对其操作数的布尔值取反。通过反转值的布尔表示,这个运算符可用于显式检查一个值是否为假值。