大爽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