目录

Python 布尔值


布尔值代表两个值之一:True或者False


布尔值

在编程中,你经常需要知道一个表达式是否是True或者False

您可以计算 Python 中的任何表达式,并得到两个答案之一,True或者False

当您比较两个值时,将计算表达式并返回布尔答案:

示例

print(10 > 9)
print(10 == 9)
print(10 < 9)
亲自试一试 »

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

示例

根据条件是否满足打印一条消息True或者False:

a = 200
b = 33

if b > a:
  print("b is greater than a")
else:
  print("b is not greater than a")
亲自试一试 »

评估值和变量

这个bool()函数允许您评估任何值,并给您True或者False作为回报,

示例

计算一个字符串和一个数字:

print(bool("Hello"))
print(bool(15))
亲自试一试 »

示例

评估两个变量:

x = "Hello"
y = 15

print(bool(x))
print(bool(y))
亲自试一试 »


大多数值都是正确的

几乎任何值都被评估为True如果它有某种内容。

任何字符串都是True,空字符串除外。

任何数字都是True, 除了0

任何列表、元组、集合和字典都是True,除了空的。

示例

以下将返回 True:

bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])
亲自试一试 »

有些值是错误的

事实上,没有多少值可以评估为False,空值除外,例如(),[],{},"", 号码0,和值None。当然还有值False评估为False

示例

以下将返回 False:

bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})
亲自试一试 »

在这种情况下,还有一个值或对象的计算结果为False,也就是说,如果您有一个由带有__len__返回的函数0或者False:

示例

class myclass():
  def __len__(self):
    return 0

myobj = myclass()
print(bool(myobj))
亲自试一试 »

函数可以返回布尔值

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

示例

打印函数的答案:

def myFunction() :
  return True

print(myFunction())
亲自试一试 »

您可以根据函数的布尔答案执行代码:

示例

如果函数返回 True,则打印 "YES!",否则打印 "NO!":

def myFunction() :
  return True

if myFunction():
  print("YES!")
else:
  print("NO!")
亲自试一试 »

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

示例

检查对象是否为整数:

x = 200
print(isinstance(x, int))
亲自试一试 »

通过练习测试一下

练习:

下面的语句将打印一个布尔值,哪个?

print(10 > 9)



开始练习