Python 簡易手冊
單元 20 - if 陳述
關鍵字 (keyword) if 用來進行條件 (condition) 判斷,如果條件為真就會執行底下縮排的程式碼, if 通常會跟 else 一起用,如果條件為假就會執行 else 底下縮排的程式碼,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 設定變數 a a = 1 # 依變數 a 執行不同選項 if a > 0: print(a) else: print(0) # 檔名: if_demo.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
第 2 行先設定變數 (variable) a 為整數 1
1 2 | # 設定變數 a a = 1 |
第 5 行為 if , if 之後到冒號為止的部分為條件,條件為真的話就會執行 if 底下縮排的程式碼,也就是第 6 行的部分
5 6 | if a > 0: print(a) |
條件為假的話則會執行 else 底下縮排的程式碼,也就是第 8 行的地方
5 6 | else: print(0) |
注意,關鍵字 else 後面也要加上冒號,底下也要縮排,此例執行結果如下
> python if_demo.py |
1 |
> |
if-else 也用在條件運算式 (conditional expression) ,條件運算式會在單元 15 - 條件運算式詳細介紹。
if 也用在串列 (list) 、字典 (dictionary) 及集合 (set) 產生元素的綜合運算 (comprehension) ,綜合運算會在單元 43 - 綜合運算詳細介紹。
if 陳述 (statement) 下可以不用 else ,也就是沒有條件為假的執行部分。
如果需要判斷多於一個條件,可以在 if 與 else 中間插入 elif ,加入其他條件,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 設定變數 a a = 1 # 依變數 a 執行不同選項 if a == 0: print(0) elif a > 0: print(a) else: print(-1) # 檔名: if_demo2.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
此例用比較運算子 (comparison operator) 先判斷 a 等於 0 或是大於 0 ,然後有各自的執行項目,執行結果如下
> python if_demo2.py |
1 |
> |
比較運算子在單元 13 - 比較運算子詳細介紹。
如果是要依據特定數值來決定執行項目,這可以用 match 陳述,單元 21 - match 陳述會詳細介紹 match 的用法。
match-case 中的 case 之後可以再加上 if 來判斷特定條件,單元 21 - match 陳述會詳細介紹 match 的用法。
參考資料
- https://docs.python.org/3/reference/compound_stmts.html#the-if-statement
- https://docs.python.org/3/tutorial/controlflow.html#if-statements