在編程中常常須要知道一個表達式究竟是 True 仍是 False,在 Python 中你就能夠經過計算表達式來獲得 True
和 False
中的一個,以下代碼所示:python
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.py True False False
除了經過通常表達式計算外,還可使用 bool()
函數來計算任何一個對象是否爲 True
或 False
,以下代碼所示:git
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.py True True False
這裏有一個問題,到底什麼狀況下是 True,什麼狀況下爲 False,規則大概以下:github
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.py False True False True False True
實際上,經過 bool()
最終計算爲 false 的值並很少,大概有下面幾個:(),[],{},"",0,None,False
編程
bool(False) bool(None) bool(0) bool("") bool(()) bool([]) bool({})
這裏還有一種狀況,若是一個對象內建的 __len__
函數返回 0 的時候,它也是 false ,以下代碼所示:markdown
class myclass(): def __len__(self): return 0 myobj = myclass() print(bool(myobj)) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py False
能夠建立一個函數返回 Boolean 值,好比下面經過 print 對函數進行打印。app
def myFunction() : return True print(myFunction()) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py True
除了自定義的函數,其實 Python 內也有很多函數返回 boolean 值,好比說: isinstance()
函數,它就能夠判斷對象是否爲某一個類型的實例。函數
x = 200 print(isinstance(x, int)) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py True
譯文連接: https://www.w3schools.com/pyt...
更多高質量乾貨:參見個人 GitHub: pythoncode