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

PythonPythonBeginner
立即练习

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

简介

在这个实验中,你将学习如何在 Python 中检查一个值是否为真值(truthy)。理解真值和假值(falsy)对于使用条件语句和逻辑运算至关重要。

你将探索常见的假值,如 FalseNone0''[]{}(),并了解到不在这个列表中的任何值通常都被视为真值。你将创建一个 Python 脚本,使用 bool() 函数将不同的数据类型转换为对应的布尔值,并观察结果,从而巩固你对 Python 中真值和假值的理解。


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/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/variables_data_types -.-> lab-559596{{"如何在 Python 中检查值是否为真值"}} python/booleans -.-> lab-559596{{"如何在 Python 中检查值是否为真值"}} python/type_conversion -.-> lab-559596{{"如何在 Python 中检查值是否为真值"}} python/conditional_statements -.-> lab-559596{{"如何在 Python 中检查值是否为真值"}} python/build_in_functions -.-> lab-559596{{"如何在 Python 中检查值是否为真值"}} end

定义真值和假值

在这一步中,你将了解 Python 中的“真值(truthy)”和“假值(falsy)”。理解这些概念对于使用条件语句和逻辑运算至关重要。

在 Python 中,每个值都可以被评估为 TrueFalse。评估为 True 的值被认为是“真值”,而评估为 False 的值被认为是“假值”。

让我们先探索一些常见的假值:

  • False
  • None
  • 0(整数)
  • 0.0(浮点数)
  • ''(空字符串)
  • [](空列表)
  • {}(空字典)
  • ()(空元组)

不在上述列表中的任何值通常都被视为真值。这包括:

  • True
  • 任何非零数字
  • 任何非空字符串
  • 任何至少包含一个元素的列表、字典或元组

为了演示这一点,你将创建一个 Python 脚本,并使用 bool() 函数来检查不同数据类型的布尔值。

  1. 在 LabEx 环境中打开 VS Code 编辑器。

  2. ~/project 目录下创建一个名为 truthy_falsy.py 的新文件。

    touch ~/project/truthy_falsy.py
  3. 在编辑器中打开 truthy_falsy.py 文件,并添加以下代码:

    ## Falsy values
    print(bool(False))
    print(bool(None))
    print(bool(0))
    print(bool(0.0))
    print(bool(''))
    print(bool([]))
    print(bool({}))
    print(bool(()))
    
    ## Truthy values
    print(bool(True))
    print(bool(1))
    print(bool(-1))
    print(bool('Hello'))
    print(bool([1, 2, 3]))
    print(bool({'a': 1}))
    print(bool((1, 2)))

    此脚本使用 bool() 函数将不同的值显式转换为对应的布尔值,并打印结果。

  4. 使用 python 命令运行脚本:

    python ~/project/truthy_falsy.py

    你应该会看到以下输出:

    False
    False
    False
    False
    False
    False
    False
    False
    True
    True
    True
    True
    True
    True
    True

    此输出证实了假值评估为 False,而真值评估为 True

使用 if 语句进行测试

在这一步中,你将学习如何在 Python 中使用 if 语句来测试真值和假值。if 语句允许你根据条件的真假来执行不同的代码块。

if 语句的基本语法如下:

if condition:
    ## Code to execute if the condition is true
else:
    ## Code to execute if the condition is false

condition 是一个表达式,其计算结果为 TrueFalse。如果条件为 True,则执行 if 块内的代码;否则,执行 else 块内的代码。else 块是可选的。

现在,让我们创建一个 Python 脚本来演示如何使用 if 语句处理真值和假值。

  1. 在 LabEx 环境中打开 VS Code 编辑器。

  2. ~/project 目录下创建一个名为 if_statement.py 的新文件。

    touch ~/project/if_statement.py
  3. 在编辑器中打开 if_statement.py 文件,并添加以下代码:

    ## Test with a truthy value
    x = 10
    if x:
        print("x is truthy")
    else:
        print("x is falsy")
    
    ## Test with a falsy value
    y = 0
    if y:
        print("y is truthy")
    else:
        print("y is falsy")
    
    ## Test with an empty string
    name = ""
    if name:
        print("name is truthy")
    else:
        print("name is falsy")
    
    ## Test with a non-empty string
    greeting = "Hello"
    if greeting:
        print("greeting is truthy")
    else:
        print("greeting is falsy")

    此脚本使用 if 语句测试不同的变量。它检查变量是真值还是假值,并打印相应的消息。

  4. 使用 python 命令运行脚本:

    python ~/project/if_statement.py

    你应该会看到以下输出:

    x is truthy
    y is falsy
    name is falsy
    greeting is truthy

    此输出展示了如何使用 if 语句来测试真值和假值。

使用 bool() 函数转换为布尔值

在这一步中,你将学习如何使用 bool() 函数将值显式转换为布尔值。当你需要确保某个值在条件语句或逻辑运算中被视为 TrueFalse 时,这非常有用。

bool() 函数接受一个参数,并返回其对应的布尔值。正如你在前面的步骤中所学,某些值本质上是真值或假值。bool() 函数允许你显式地确定任何表达式的布尔值。

让我们创建一个 Python 脚本来演示如何使用 bool() 函数。

  1. 在 LabEx 环境中打开 VS Code 编辑器。

  2. ~/project 目录下创建一个名为 convert_to_boolean.py 的新文件。

    touch ~/project/convert_to_boolean.py
  3. 在编辑器中打开 convert_to_boolean.py 文件,并添加以下代码:

    ## Convert an integer to boolean
    x = 42
    x_bool = bool(x)
    print(f"The boolean value of {x} is {x_bool}")
    
    ## Convert a string to boolean
    message = "Hello, world!"
    message_bool = bool(message)
    print(f"The boolean value of '{message}' is {message_bool}")
    
    ## Convert an empty list to boolean
    my_list = []
    list_bool = bool(my_list)
    print(f"The boolean value of {my_list} is {list_bool}")
    
    ## Convert None to boolean
    none_value = None
    none_bool = bool(none_value)
    print(f"The boolean value of {none_value} is {none_bool}")

    此脚本使用 bool() 函数将不同类型的值转换为布尔值,并打印结果。

  4. 使用 python 命令运行脚本:

    python ~/project/convert_to_boolean.py

    你应该会看到以下输出:

    The boolean value of 42 is True
    The boolean value of 'Hello, world!' is True
    The boolean value of [] is False
    The boolean value of None is False

    此输出展示了 bool() 函数如何将不同的值转换为对应的布尔值。

总结

在本次实验中,你学习了 Python 中的真值和假值,这对于条件语句至关重要。你了解了常见的假值,如 FalseNone00.0''[]{}(),并明白了不在此列表中的任何值通常都被视为真值。

随后,你创建了一个名为 truthy_falsy.py 的 Python 脚本,通过使用 bool() 函数将不同的值显式转换为对应的布尔值并打印结果,以此来演示这一概念,从而加深了你对 Python 在布尔上下文中如何评估不同数据类型的理解。