Python提供了bool 类型,它可以有两个值:True 和False (大写的)
布尔值在条件控制结构中特别有用,比如if 语句。
done = True
if done:
# run some code here
else:
# run some other code
当评估一个True 或False 的值时,如果该值不是bool ,我们有一些规则,取决于我们要检查的类型。
- 数字总是
True,除非是数字0 - 字符串只有在空时才是
False - 列表、图元、集合、字典只有在空时才是
False。
你可以用这种方式检查一个值是否是布尔值。
done = True
type(done) == bool #True
或者使用isinstance() ,传递2个参数:变量,和bool 类。
done = True
isinstance(done, bool) #True
全局any() 函数在处理布尔值时也非常有用,因为如果作为参数传递的迭代器(例如列表)中的任何一个值是True ,它将返回True 。
book_1_read = True
book_2_read = False
read_any_book = any([book_1_read, book_2_read])
全局all() 函数也是如此,但如果传递给它的所有值都是True ,则返回True 。
ingredients_purchased = True
meal_cooked = False
ready_to_serve = all([ingredients_purchased, meal_cooked])