1. 程式人生 > 其它 >大爽Python入門教程 3-1 布林值: True, False

大爽Python入門教程 3-1 布林值: True, False

大爽Python入門公開課教案
點選檢視教程總目錄

1 布林值介紹

從判斷說起

回顧第一章介紹的簡單的判斷

>>> x = 10
>>> if x > 5:
...     print("x is greater than 5")

重點來看下if x > 5:這一句。
這一句可以分為兩步

  • x > 5: 本質是一個運算式,其值是一個布林值。
  • if根據布林值來判斷。
    具體如下
>>> x = 10
>>> x > 5
True
>>> if True:
...     print("x is greater than 5")

上面的True就是布林值,
if條件判斷本質上是根據布林值來判斷的。

布林值

布林值(Booleans)只有兩個:

  • True: 真,正確
  • False: 假,錯誤

其資料型別為bool

之前第一張簡單判斷的比較運算子,其運算結果就是布林值。

if判斷,使用布林值來判斷是否執行冒號後的語句的。
if True就執行。
if False就不會執行。

>>> b = 1 > 5
>>> b
False
>>> type(b)
<class 'bool'>
>>> if b:
...     print("1 > 5")
...
>>> c = 1 < 5
>>> c
True
>>> if c:
... 	print("c<5")
...
1<5
>>> if False:
... 	print("Only output when true")
...
>>> if True:
... 	print("Only output when true")
...
Only output when true

布林轉換

if條件判斷, 本質上是根據布林值來判斷的。
即得到if後內容的布林值。

當後面內容結果不是布林物件時,
會將結果使用bool()方法轉換成布林物件。
變數使用bool()方法轉換後的布林值,
一般簡稱為變數的布林值

示例如下

>>> bool(1)
True
>>> bool(-1)
True
>>> bool(0)
False
>>> if 0:
... 	print("Only output when true")
...
>>> if 1:
... 	print("Only output when true")
...
Only output when true
>>> if -1:
... 	print("Only output when true")
...
Only output when true

結論(不必去記,用的時候敲一遍程式碼就知道了)

  • 只有0的布林值是False,其他數(包括負數)的布林值都是True
    尤其是-1的布林值,也是True

小技巧:
if語句後面的輸出不確定,想測試的時候,
沒有必要把整個if語句敲一遍。
直接把if判斷的內容的布林值取一下就好。

常用物件的布林值

結論(不必去記,用的時候敲一遍程式碼就知道了)
空容器的布林值是False,非空容器的布林值都是True
適用於:字串,元組,列表,字典等等。

程式碼示例

>>> bool("")
False
>>> bool("a")
True
>>> bool(())
False
>>> bool((1,2))
True
>>> bool([])
False
>>> bool([1])
True
>>> bool({})
False
>>> bool({"a": 1})
True

布林運算

其他得到布林值的方法