![](../../img/interpret.jpg)
Python 簡易手冊
單元 15 - 條件運算式
條件運算式 (conditional expression) 主要用在依條件 (condition) 真或假二選一指派數值 (value) ,最早 Python 沒有條件運算式的語法,但由於條件運算式等於是把多行的 if-else 陳述 (statement) 寫在一行程式碼,可大幅縮短程式碼行數,所以後來就加入到 Pyhton 中。
單元 20 - if 陳述會詳細介紹 if-else 陳述的用法。
以下為簡單的例子
1 2 3 4 5 6 7 8 9 10 11 | # 變數 a 依條件指派 a = 3 if False else 5 # 印出變數 a print(a) # 檔名: conditional_demo.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
第 2 行,條件運算式是在指派陳述 (assignment statement) 後面直接加上關鍵字 (keyword) if ,判斷 if 後面的條件,如果為真,變數就會被指派成等號後面的數值,反之如果為假,變數會指派為 else 後面的數值
1 2 | # 變數 a 依條件指派 a = 3 if False else 5 |
由於此例的條件是直接用 False ,條件為假,所以變數 a 會被指派為 else 後面的整數 5 ,下面第 5 行就是印出變數 a ,此例執行結果如下
> python conditional_demo.py |
5 |
> |
由於是用在指派陳述,所以條件運算式可以用來檢查指派的數值是否符合預期的型態 (type) ,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 設定變數 a 為字串 a = "3" # 如果變數 a 為整數就指派給變數 b b = a if type(a) is int else 0 # 印出變數 b 的型態 print(type(b)) # 檔名: conditional_demo2.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
第 5 行檢查變數 a 是否為整數,如果不是就指派為預設值 0
4 5 | # 如果變數 a 為整數就指派給變數 b b = a if type(a) is int else 0 |
這在檢查函數 (function) 或方法 (method) 的參數 (parameter) 型態很好用,下面印出變數 b 的型態名稱,此例執行結果如下
> python conditional_demo2.py |
<class 'int'> |
> |
單元 44 - 函數與 return 陳述會詳細介紹如何定義函數,至於方法定義跟函數類似。
參考資料
- https://docs.python.org/3/reference/expressions.html#conditional-expressions
- https://peps.python.org/pep-0308/
![](../../img/pydoing.gif)