Python 速查手冊

2.2 真假值

本書已有新版,請參考 Python 簡易手冊 - 目錄

真假值的字面常數 (literal) 包括 TrueFalseTrue 就是邏輯上的真, False 則是邏輯上的假。

以下在互動式介面輸入 True 就回傳 True ,輸入 False 就回傳 False

>>> True
True
>>> False
False

那什麼情況會用到真假值呢?需要邏輯結果就需要真假值了,因為程式 (program) 常常需要依條件 (condition) 做選擇,或是執行迴圈 (loop) ,無論選擇或迴圈都需要做條件判斷,所謂條件也就是布林運算,布林運算會得到邏輯結果,邏輯結果就是真假值。

這裡來看看布林運算的例子,布林運算子有 orandnot

x = True
y = False
print(x or y)
print(x and y)
print(not x)

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:bool01.py
# 功能:示範真假值的運算
# 作者:張凱慶

or 表示中文「或」的意思,因此 x or y 是當 xy 任一個為 True ,結果就會回傳 Trueand 表示中文「且」的意思,因此 x and y 是當 xy 兩者皆為 True ,結果才會回傳 True ,最後 not 則是把 xTrueFalse ,或是由 FalseTrue

於命令列執行以上程式,結果如下

$ python3 bool01.py
True
False
False
$

比較運算是布林運算的一種,除了比較數值上的關係外,最底下的 isis not 則是判斷物件是否相同

x = 1
y = 2
print(x < y)
print(x <= y)
print(x > y)
print(x >= y)
print(x == y)
print(x != y)
print(x is y)
print(x is not y)

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:bool02.py
# 功能:示範真假值的運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 bool02.py
True
True
False
False
False
True
False
True
$

判斷序列 (sequence) 元素有無也是布林運算的一種, in 會回傳存在的情況, not in 則會回傳不存在的情況,注意 for 迴圈就是採取 for-in 的計算,差別是 for 可以依序取得每個元素

y = [1, 2, 3]
x = 2
print(x in y)
print(x not in y)

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:bool03.py
# 功能:示範真假值的運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 bool03.py
True
False
$

if 後的條件,這裡用英文字 condition1 帶入,條件也是需要布林運算的地方,可能是任何的布林運算

condition1 = False
condition2 = False
if condition1:
    pass
elif condition2:
    pass
else:
    print("Nothing happened.")
    
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:bool04.py
# 功能:示範真假值的運算
# 作者:張凱慶

如果 if 後面的 condition1 回傳 False ,直譯器就會再去計算 elif 後面的 condition2 ,直到計算出回傳 True 的條件為止,如果條件都為假,程式就會執行 else 的部分。

於命令列執行以上程式,結果如下

$ python3 bool04.py
Nothing happened.
$

while 迴圈也需要用到條件,這裡同樣用英文字 condition 帶入,當 conditionTrue 的時候,迴圈才會繼續進行,而當 conditionFalse 的時候,迴圈就會結束

condition = True
while condition:
    condition = False
print("After the while loop...")

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:bool05.py
# 功能:示範真假值的運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 bool05.py
After the while loop...
$

相關教學影片

上一頁: 2.1 變數與物件
Python 速查手冊 - 目錄
下一頁: 2.3 數字
回 Python 教材首頁
回程式語言教材首頁