目次
1. 前言
Python 以其簡潔且直觀的語法著稱,是許多程式設計初學者學習的第一門語言。其中,「條件判斷」是控制程式行為時不可或缺的元素。本章將學習 Python 中最基本的條件判斷語法「if 陳述式」。條件判斷在 Python 中的重要性
當程式需要根據特定條件執行不同處理時,條件判斷就扮演了重要角色。Python 中的if 陳述式是實現條件判斷的基本語法。理解它可以大大提升程式的靈活性與實用性。if 陳述式的作用
if 陳述式會在特定條件為真時,執行指定的程式碼。透過這種結構,程式可以根據輸入或外部環境做出動態反應。Ad
2. if 陳述式的基本語法
Python 的if 陳述式非常簡單,即使是第一次學習程式的使用者也能輕鬆理解。本章將說明 if 的基本結構與使用方式。基本結構
Python 中if 陳述式的基本語法如下:if 條件式:
要執行的程式碼縮排的重要性
在 Python 中,縮排(Indentation)用來表達程式碼的階層結構。if 條件為真時要執行的程式碼,必須以一個層級的縮排表示。 範例:縮排正確的情況if 10 > 5:
print("10 大於 5")範例:縮排錯誤的情況if 10 > 5:
print("10 大於 5") # 會發生錯誤如果縮排不正確,Python 會產生錯誤訊息,因此必須特別注意。什麼是條件式
在if 陳述式中,條件式是一個會回傳 True 或 False 的運算式。當條件為 True 時,if 區塊內的程式碼會被執行。例如,以下程式碼會顯示訊息,因為條件成立:if 5 == 5:
print("條件為真")反之,若條件不成立,則 if 區塊內的程式碼不會被執行:if 5 != 5:
print("這段程式碼不會被執行")3. 比較運算子與邏輯運算子
在使用 Python 的if 陳述式時,條件式的組成少不了「比較運算子」與「邏輯運算子」。本章將詳細說明這些運算子的功能與實際用法。什麼是比較運算子
比較運算子用來比較兩個值,回傳True 或 False。以下是 Python 中常用的比較運算子:| 運算子 | 意思 | 使用範例 | 結果 |
|---|---|---|---|
== | 等於 | 5 == 5 | True |
!= | 不等於 | 5 != 3 | True |
> | 大於 | 5 > 3 | True |
< | 小於 | 5 < 3 | False |
>= | 大於等於 | 5 >= 5 | True |
<= | 小於等於 | 3 <= 5 | True |
x = 10
if x > 5:
print("x 大於 5")什麼是邏輯運算子
邏輯運算子用來組合多個條件式。Python 中常用的邏輯運算子有以下三種:| 運算子 | 意思 | 使用範例 | 結果 |
|---|---|---|---|
and | 兩個條件都為 True | 5 > 3 and 10 > 5 | True |
or | 任一條件為 True | 5 > 3 or 10 < 5 | True |
not | 反轉條件結果 | not 5 > 3 | False |
x = 10
y = 20
if x > 5 and y > 15:
print("x 大於 5,且 y 大於 15")結合比較與邏輯運算子
在if 陳述式中,結合比較與邏輯運算子可以處理更複雜的條件。 範例:結合多個條件age = 25
income = 50000
if age > 18 and income > 30000:
print("符合條件")這段程式會在 age 大於 18 且 income 大於 30000 的情況下執行。Ad
4. if-else 陳述式
除了基本的if 陳述式外,當條件不成立時想執行其他處理,就可以使用 else 陳述式。本章將說明 if-else 的結構與使用方法。if-else 的基本結構
if-else 陳述式的語法如下:if 條件式:
條件為 True 時的處理
else:
條件為 False 時的處理使用範例
以下是使用if-else 的簡單範例。 範例:if-else 的應用x = 10
if x > 5:
print("x 大於 5")
else:
print("x 小於或等於 5")此程式會根據 x 的值執行不同的訊息輸出。實用範例
if-else 常用於根據使用者輸入或狀況進行不同的處理。 範例:根據輸入值進行判斷number = int(input("請輸入一個數字: "))
if number % 2 == 0:
print("這是偶數")
else:
print("這是奇數")這段程式會根據輸入的數值判斷是偶數還是奇數。5. if-elif-else 陳述式
當需要處理多個條件時,僅使用if 可能會讓程式變得冗長。在這種情況下,使用 Python 的 if-elif-else 陳述式可以更有效率地處理多重條件。本章將說明其結構與使用範例。if-elif-else 的基本結構
if-elif-else 陳述式的語法如下:if 條件式1:
條件式1 為 True 時的處理
elif 條件式2:
條件式2 為 True 時的處理
else:
以上條件皆不成立時的處理elif 是 “else if” 的縮寫,可用來依序檢查多個條件。使用範例
以下是if-elif-else 的簡單範例。 範例:根據分數顯示等級score = 85
if score >= 90:
print("評價:A")
elif score >= 80:
print("評價:B")
elif score >= 70:
print("評價:C")
else:
print("評價:D")此範例會根據 score 的值顯示不同評價訊息。elif 的重要性
透過elif,條件會依序檢查,當符合其中一個條件後,後續條件將不再判斷,因此能有效處理重疊條件的情境。 範例:條件的優先順序temperature = 30
if temperature > 35:
print("是酷熱的天氣")
elif temperature > 25:
print("是炎熱的天氣")
elif temperature > 15:
print("是舒適的天氣")
else:
print("是寒冷的天氣")此程式碼會根據溫度顯示最先符合的條件對應的訊息。省略 else
else 並非必須,當不需要處理所有條件的情況時可以省略。 範例:省略 elseage = 20
if age >= 18:
print("已成年")
elif age >= 13:
print("是青少年")Ad
6. 巢狀的 if 陳述式
當條件更複雜時,可以使用巢狀(巢狀結構)方式撰寫if 陳述式。本章將說明巢狀 if 的寫法與使用上的注意事項。巢狀 if 的基本結構
巢狀if 的語法如下:if 條件式1:
if 條件式2:
條件1 和 條件2 都為 True 時執行的處理使用範例
以下是使用巢狀if 陳述式的範例。 範例:結合兩個條件的判斷age = 25
income = 40000
if age > 18:
if income > 30000:
print("是成年人且收入充足")
else:
print("是成年人但收入不足")
else:
print("是未成年人")這段程式碼會根據年齡與收入進行條件判斷。注意事項
過度使用巢狀結構會使程式難以閱讀。因此,建議適當使用邏輯運算子或拆分條件式來簡化程式。 範例:簡化巢狀結構age = 25
income = 40000
if age > 18 and income > 30000:
print("是成年人且收入充足")
elif age > 18:
print("是成年人但收入不足")
else:
print("是未成年人")Ad
7. if 陳述式的簡寫(三元運算子)
在 Python 中,若是簡單的條件判斷,可以使用「三元運算子」以單行方式撰寫。本章將說明三元運算子的基本語法、使用範例與注意事項。三元運算子的基本語法
三元運算子的語法如下:值1 if 條件式 else 值2- 若
條件式為True,則回傳值1。 - 若
條件式為False,則回傳值2。
使用範例
範例:判斷數值正負x = 10
result = "正數" if x > 0 else "負數"
print(result)上述程式會根據 x 的值顯示「正數」或「負數」。 範例:判斷最大值a, b = 5, 10
max_value = a if a > b else b
print(f"最大值是 {max_value}")此範例會比較 a 與 b 的值,將較大者指定給 max_value。巢狀三元運算子
三元運算子也可以巢狀使用,但可讀性可能會降低。 範例:巢狀三元運算子x = 0
result = "正數" if x > 0 else "負數" if x < 0 else "零"
print(result)此程式碼會判斷 x 是正數、負數還是零。注意事項
- 三元運算子簡潔實用,但不適合複雜條件。
- 若條件邏輯過多,建議使用傳統的
if-else結構以提高可讀性。
Ad
8. 使用 if 陳述式的注意事項
在使用 Python 的if 陳述式時,有幾個常見特性與注意點必須了解。本章整理了避免錯誤的重點。None 與空值的判斷
在 Python 中,None、空字串、空串列等會被視為 False。 範例:判斷 Nonex = None
if not x:
print("x 是 None")範例:判斷空串列items = []
if not items:
print("串列是空的")is 與 == 的差異
==比較的是「值是否相等」。is比較的是「是否為同一個物件(記憶體位置)」。
is 與 == 的差別a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True(值相等)
print(a is b) # False(不是同一個物件)條件式的撰寫注意事項
當條件較複雜時,建議使用括號明確條件的優先順序。 範例:使用括號提升可讀性x = 10
y = 5
if (x > 5 and y < 10) or x == 10:
print("條件成立")
Ad
9. 總結
在這篇教學中,我們從基礎到進階學習了 Python 的if 陳述式。以下為重點整理:Python if 陳述式的基礎
if陳述式只在條件為True時執行特定程式碼。- Python 透過縮排來區分程式結構,正確的縮排非常重要。
if 條件式:
要執行的程式碼條件判斷的延伸
if-else可處理條件為 False 時的情況。if-elif-else可有效處理多個條件。
score = 75
if score >= 90:
print("評價:A")
elif score >= 75:
print("評價:B")
else:
print("評價:C")處理複雜條件
- 可結合比較與邏輯運算子撰寫複雜條件。
- 使用巢狀
if可以建立階層式條件。
age = 25
income = 50000
if age > 18 and income > 30000:
print("符合條件")活用簡寫(三元運算子)
- 簡單條件可用三元運算子寫成一行。
- 條件複雜時,建議使用標準
if-else結構。
result = "合格" if score >= 60 else "不合格"注意事項
- 空值與
None在條件中會被當成False。 - 了解
is與==的差異並正確使用。 - 條件式過長時,使用括號提升可讀性與正確性。
下一步學習方向
掌握if 陳述式能大幅提升程式的靈活度,接下來建議進一步學習以下主題:- 迴圈與條件判斷的結合
- 學習如何在
for或while迴圈中使用if判斷。
- 例外處理
- 學會使用
try-except結構處理程式錯誤。
- 函式與條件判斷
- 學習在函式中活用條件邏輯,撰寫可重用的程式碼。




