使用布林值和返回布林值的表達式,我們可以根據它們的 TrueFalse 值來做出決策並選擇不同的路徑。

Python 中,我們可以使用 if 語句來實現這一點:

condition = True

if condition == True:
    # 執行某些操作

當條件測試結果為 True 時,像上面的例子一樣,它的代碼塊就會被執行。

什麼是代碼塊?代碼塊是縮進了一級(通常是4個空格)的程式碼塊類型:

condition = True

if condition == True:
    print("這個條件")
    print("是真的")

代碼塊可以由單行或多行代碼構成,並且在回到先前縮進級別時結束:

condition = True

if condition == True:
    print("這個條件")
    print("是真的")

print("if 語句之外")

結合 if 語句,還可以使用 else 代碼塊,在條件測試結果為 False 時執行:

condition = True

if condition == True:
    print("這個條件")
    print("是真的")
else:
    print("這個條件")
    print("是假的")

你還可以使用 elif 搭配不同的連接 if 條件來進行多重檢測,如果前一個檢測為 False 時執行:

condition = True
name = "Roger"

if condition == True:
    print("這個條件")
    print("是真的")
elif name == "Roger":
    print("你好 Roger")
else:
    print("這個條件")
    print("是假的")

在這個例子中,如果 conditionFalse,並且 name 變數的值是 “Roger”,則會執行第二個代碼塊。

if 語句中,你可以有一個 if 和一個 else 檢測,但可以有多個連續的 elif 檢測:

condition = True
name = "Roger"

if condition == True:
    print("這個條件")
    print("是真的")
elif name == "Roger":
    print("你好 Roger")
elif name == "Syd":
    print("你好 Syd")
elif name == "Flavio":
    print("你好 Flavio")
else:
    print("這個條件")
    print("是假的")

ifelse 也可以使用行內形式的語法,這使我們可以根據條件返回一個值或另一個值。

例如:

a = 2
result = 2 if a == 0 else 3
print(result)  # 3