1 什么是布尔值

首先我们要学习一下布尔值的定义,布尔值是一种数据类型,它只有两个可能的值:True(真)或 False(假)。布尔值通常用于表示逻辑操作的结果,例如比较或条件语句。

2 怎么生成布尔值

在Python中,布尔值可以通过比较操作符、逻辑操作符和内置函数生成。以下是一些常见的布尔值生成方法:

  1. 比较操作符:使用比较操作符(如==!=<><=>=)比较两个值时,会返回一个布尔值。

    a = 5
    b = 10
    result = a > b  # result 的值为 False,因为 a 不大于 b
    

Python入门06布尔值-LMLPHP

  1. 逻辑操作符:使用逻辑操作符(如andor)组合或取反(not)布尔值。

    a = True
    b = False
    result = a and b  # result 的值为 False,因为b 为假,and的意思是只要有一个为假结果就为假
    

Python入门06布尔值-LMLPHP

# 定义两个变量
a = 10
b = 20

# 使用逻辑操作符 or 和 not 计算布尔值
result1 = a > 5 or b < 15
result2 = not (a < 10 or b > 25)

# 输出结果
print("Result 1:", result1)  # Result 1: True
print("Result 2:", result2)  # Result 2: True

Python入门06布尔值-LMLPHP
这里我们要知道and、or的计算规则:

  1. and 运算符:当且仅当两个布尔值都为 True 时,and 运算符的结果为 True;否则,结果为 False
True and True  # True
True and False  # False
False and True  # False
False and False  # False
  1. or 运算符:当至少有一个布尔值为 True 时,or 运算符的结果为 True;否则,结果为 False
True or True  # True
True or False  # True
False or True  # True
False or False  # False

需要注意的是,andor 运算符具有短路特性。这意味着,当运算符左侧的表达式已经足以确定结果时,Python 不会计算右侧的表达式。

  1. 内置函数:使用内置函数(如bool())将其他数据类型转换为布尔值。

    a = 42
    result = bool(a)  # result 的值为 True,因为 a 是非零整数,在布尔上下文中被视为真
    

Python入门06布尔值-LMLPHP

3 在控制程序中使用布尔值

布尔值在Python中具有重要意义,因为它们用于控制程序的逻辑流程。例如,可以使用ifwhilefor等控制结构根据布尔值的真假来执行代码块:

# 定义一个列表
numbers = [1, 2, 3, 4, 5]

# 使用 for 循环遍历列表
for num in numbers:
    # 使用 if 判断 num 是否为偶数
    if num % 2 == 0:
        print(num, "is even")
    else:
        print(num, "is odd")

# 使用 while 循环计算 1 到 10 偶数的和
sum = 0
counter = 1

while counter <= 10:
    # 使用 if 判断 counter 是否为偶数
    if counter % 2 == 0:
        sum += counter
    counter += 1

print("The sum of numbers from 1 to 10 is", sum)

Python入门06布尔值-LMLPHP

4 数据过滤、排序和其他高级操作

布尔值还可以用于数据过滤、排序和其他高级操作。以下为示例:

# 定义一个包含整数的列表
numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

# 使用列表推导式过滤出小于等于 50 的整数
filtered_numbers = [num for num in numbers if num <= 50]
print("Filtered numbers:", filtered_numbers)  # Filtered numbers: [10, 20, 30, 40, 50]

# 使用 sorted() 函数对列表进行排序
sorted_numbers = sorted(numbers)
print("Sorted numbers:", sorted_numbers)  # Sorted numbers: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

# 使用列表推导式从列表中筛选出偶数
even_numbers = [num for num in numbers if num % 2 == 0]
print("Even numbers:", even_numbers)  # Even numbers: [20, 40, 60, 80, 100]

# 使用 filter() 函数和 lambda 表达式过滤出大于 50 的整数
filtered_numbers_2 = list(filter(lambda num: num > 50, numbers))
print("Filtered numbers using filter():", filtered_numbers_2)  # Filtered numbers using filter(): [60, 70, 80, 90, 100]

Python入门06布尔值-LMLPHP

总结

我们本篇介绍了Python中boolean的定义及用法,在我们日常编写业务逻辑的时候会大量应用到布尔值做逻辑的判断,需要梳理掌握。

12-04 12:24