首頁>技術>

Boolean 值

在程式設計中經常需要知道一個表示式到底是 True 還是 False,在 Python 中你就可以透過計算表示式來得到 TrueFalse 中的一個,如下程式碼所示:

print(10 > 9)print(10 == 9)print(10 < 9)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyTrueFalseFalse
透過 bool() 計算

除了透過一般表示式計算外,還可以使用 bool() 函式來計算任何一個物件是否為 TrueFalse,如下程式碼所示:

print(bool("Hello"))print(bool(15))print(bool(''))PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyTrueTrueFalse

這裡有一個問題,到底什麼情況下是 True,什麼情況下為 False,規則大概如下:

除了空字串,其餘字串都是 True。

除了 0 ,其他數字都是 True。

除了 空集合,其他集合都是 True。

print (bool(''))print(bool('hello'))print(bool(0))print(bool(10))print(bool([]))print(bool([1,2]))PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyFalseTrueFalseTrueFalseTrue

實際上,透過 bool() 最終計算為 false 的值並不多,大概有下面幾個:(),[],{},"",0,None,False

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

這裡還有一種情況,如果一個物件內建的 __len__ 函式返回 0 的時候,它也是 false ,如下程式碼所示:

class myclass():  def __len__(self):    return 0myobj = myclass()print(bool(myobj))PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyFalse
函式返回 boolean 值

可以建立一個函式返回 Boolean 值,比如下面透過 print 對函式進行列印。

def myFunction() :  return Trueprint(myFunction())PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyTrue

除了自定義的函式,其實 Python 內也有不少函式返回 boolean 值,比如說: isinstance() 函式,它就可以判斷物件是否為某一個型別的例項。

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Python 入門系列——13. List 型別簡介