Python 评估布尔值
评估值
bool()
函数允许你评估任何值,并返回 True
或 False
。
例子 1
评估一个字符串和一个数字:
print(bool("Hello")) print(bool(15))
例子 2
评估两个变量:
x = "Hello" y = 15 print(bool(x)) print(bool(y))
大多数值为 True
如果有内容,则几乎所有值都会被评估为 True。
除了空字符串,任何字符串都是 True。
除了 0,任何数字都是 True。
除了空的,任何列表、元组、集合和字典都是 True。
实例
以下将返回 True:
bool("abc") bool(123) bool(["apple", "cherry", "banana"])
一些值为 False
事实上,除了空值(如 ()、[]、{}、""、数字 0 和值 None)之外,没有多少值会被评估为 False。当然,值 False 会被评估为 False。
例子 1
以下将返回 False:
bool(False) bool(None) bool(0) bool("") bool(()) bool([]) bool({})
还有一个值,或者在这种情况下是对象,被评估为 False,那就是如果你有一个由包含 __len__
函数的类创建的对象,该函数返回 0 或 False:
例子 2
class myclass(): def __len__(self): return 0 myobj = myclass() print(bool(myobj))