Boolean 值
在程式設計中經常需要知道一個表示式到底是 True 還是 False,在 Python 中你就可以透過計算表示式來得到 True
和 False
中的一個,如下程式碼所示:
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()
函式來計算任何一個物件是否為 True
或 False
,如下程式碼所示:
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()
函式,它就可以判斷物件是否為某一個型別的例項。
最新評論