布尔表示两值之一: True 或 False.


布尔值

在编程中,您通常需要知道表达式是 True 或 False。
您可以计算 Python 中的任何表达式,并获得两个答案之一,即True 或 False。
比较两个值时,将对表达式求值,Python 返回布尔值答案:

实例

  1. print(10 > 9)
  2. print(10 == 9)
  3. print(10 < 9)

当在 if 语句中运行条件时,Python 返回 True 或 False:

实例

根据条件是True 或 False打印消息:

  1. a = 200
  2. b = 33
  3. if b > a:
  4. print("b is greater than a")
  5. else:
  6. print("b is not greater than a")

评估值和变量

bool() 函数可让您评估任何值,并为您返回 True 或 False

实例

评估字符串和数字:

  1. print(bool("Hello"))
  2. print(bool(15))

实例

评估两个变量:

  1. x = "Hello"
  2. y = 15
  3. print(bool(x))
  4. print(bool(y))

大多数值都为 True

如果有某种内容,则几乎所有值都将评估为 True。
除空字符串外,任何字符串均为 True。
除 0 外,任何数字均为 True。
除空列表外,任何列表、元组、集合和字典均为 True。

实例

下例将返回 True:

  1. bool("abc")
  2. bool(123)
  3. bool(["apple", "cherry", "banana"])

某些值为 False

实际上,除空值(例如 (), [], {}, “”, 数字 0, 和值 None)外,没有多少值会被评估为 False。 当然,值 False 的计算结果为 False。

实例

下例会返回 False:

  1. bool(False)
  2. bool(None)
  3. bool(0)
  4. bool("")
  5. bool(())
  6. bool([])
  7. bool({})

在这种情况下,一个值或对象的计算结果为 False,即如果对象由带有 len 函数的类生成的,且该函数返回 0 或 False:

实例

  1. class myclass():
  2. def __len__(self):
  3. return 0
  4. myobj = myclass()
  5. print(bool(myobj))

函数可返回布尔

可以创建返回布尔值的函数

实例

打印函数的答案:

  1. def myFunction() :
  2. return True
  3. print(myFunction())

您可以基于函数的布尔答案执行代码:

实例

打印 “YES!”,如果函数返回True,则打印”NO!”:

  1. def myFunction() :
  2. return True
  3. if myFunction():
  4. print("YES!")
  5. else:
  6. print("NO!")

Python 还有很多返回布尔值的内置函数,例如 isinstance() 函数,该函数可用于确定对象是否具有某种数据类型:

实例

检查对象是否为整数:

  1. x = 200
  2. print(isinstance(x, int))