Python 入門系列 —— 12. Booleans 介紹

Boolean 值

在編程中常常須要知道一個表達式究竟是 True 仍是 False,在 Python 中你就能夠經過計算表達式來獲得 TrueFalse 中的一個,以下代碼所示: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() 計算

除了經過通常表達式計算外,還可使用 bool() 函數來計算任何一個對象是否爲 TrueFalse,以下代碼所示: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

  • 除了空字符串,其他字符串都是 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.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 值

能夠建立一個函數返回 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

相關文章
相關標籤/搜索