Python 布爾

布爾表示兩值之一:True 或 False。

布爾值

在編程中,您通常需要知道表達式是 True 還是 False。

您可以計算 Python 中的任何表達式,并獲得兩個答案之一,即 True 或 False。

比較兩個值時,將對表達式求值,Python 返回布爾值答案:

實例

print(8 > 7)
print(8 == 7)
print(8 < 7)

運行實例

當在 if 語句中運行條件時,Python 返回 True 或 False:

實例

根據條件是對還是錯,打印一條消息:

a = 200
b = 33
if b > a:
  print("b is greater than a")
else:
  print("b is not greater than a")

運行實例

評估值和變量

bool() 函數可讓您評估任何值,并為您返回 True 或 False。

實例

評估字符串和數字:

print(bool("Hello"))
print(bool(10))

運行實例

實例

評估兩個變量:

x = "Hello"
y = 10
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。

實例

下例會返回 False:

bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})

運行實例

在這種情況下,一個值或對象的計算結果為 False,即如果對象由帶有 __len__ 函數的類生成的,且該函數返回 0 或 False:

實例

class myclass():
  def __len__(self):
    return 0
myobj = myclass()
print(bool(myobj))

運行實例

函數可返回布爾

Python 還有很多返回布爾值的內置函數,例如 isinstance() 函數,該函數可用于確定對象是否具有某種數據類型:

實例

檢查對象是否是整數:

x = 200
print(isinstance(x, int))

運行實例