Python 布尔运算法则的指南

147 阅读1分钟

Python提供了bool 类型,它可以有两个值:TrueFalse (大写的)

布尔值在条件控制结构中特别有用,比如if 语句。

done = True

if done:
    # run some code here
else:
    # run some other code

当评估一个TrueFalse 的值时,如果该值不是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])