布尔值表示两个值之一:True(真)或False(假)。
布尔值
在编程中,您经常需要知道一个表达式是否为True或False。
您可以在Python中评估任何表达式,并获得两个答案之一:True或False。
当您比较两个值时,表达式会被评估,Python会返回布尔答案:
示例
print(10 > 9) print(10 == 9) print(10 < 9)
当您在if语句中运行条件时,Python会返回True或False:
示例 根据条件是True还是False打印消息:
a = 200 b = 33 if b > a: print("b 大于 a") else: print("b 不大于 a")
评估值和变量
bool()
函数允许您评估任何值,并返回True或False,
示例 评估字符串和数字:
print(bool("Hello")) print(bool(15))
示例 评估两个变量:
x = "Hello" y = 15 print(bool(x)) print(bool(y))
大多数值为True
几乎任何值都会在有一些内容的情况下被评估为True。
任何字符串都为True,除了空字符串。
任何数字都为True,除了0。
任何列表、元组、集合和字典都为True,除了空的。
示例 以下将返回True:
bool("abc") bool(123) bool(["apple", "cherry", "banana"])
一些值为False
事实上,除了空值(如()、[]、{}、""、数字0和None),没有太多值会被评估为False。当然,值False会被评估为False。
示例 以下将返回False:
bool(False) bool(None) bool(0) bool("") bool(()) bool([]) bool({})
还有一个值,或者说对象,在这种情况下会被评估为False,那就是如果您有一个由带有返回0或False的__len__
函数的类创建的对象:
示例
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))