Python 提供了 bool 型別,它可以有兩個值:TrueFalse(大小寫有別)。

done = False
done = True

布林值在條件控制結構(如 if 語句)中尤其有用:

done = True

if done:
    # 在這裡運行一些程式碼
else:
    # 在這裡運行一些其他程式碼

在評估一個值是 True 還是 False 時,如果該值不是布林值,我們有一些規則,取決於我們要檢查的型別:

  • 數字除了數字 0 外,都是 True
  • 空字串是 False
  • 列表、元組、集合、字典只有在空的時候才是 False

你可以這樣檢查一個值是否為布林值:

done = True
type(done) == bool  #True

或者使用 isinstance() 函數,傳入兩個參數:變數和 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])