Python自學_把if/lese一行寫完
Python 的 if/else 除了可以用一般多行寫法,也可以寫成一行。這種寫法常稱為「條件運算式」,適合用在簡單判斷,但不一定每次都比較好讀。
📘 Python 自學|把 if/else 一行寫完
題目:判斷某個數字是偶數還是奇數
這篇用一個很簡單的例子來記錄 Python 的 if/else 一行寫法。
題目是:給定一個數字,判斷它是偶數還是奇數。
🔹 一般 if/else 寫法
初學 Python 時,最常見的寫法通常會像下面這樣。
number = 4
if number % 2 == 0:
print("Even")
else:
print("Odd")
這段程式的意思是:
- number = 4:設定變數 number 的值為 4。
- number % 2:計算 number 除以 2 的餘數。
- 如果餘數等於 0,代表是偶數,印出 Even。
- 否則就是奇數,印出 Odd。
在 Python 裡,% 是取餘數運算子。
例如 4 % 2 等於 0,所以 4 是偶數。
例如 4 % 2 等於 0,所以 4 是偶數。
⚡ if/else 一行寫完
如果判斷邏輯很簡單,也可以把它寫成一行。
number = 4
print("Even" if number % 2 == 0 else "Odd")
這行的意思可以直接讀成:
如果 number % 2 == 0 成立,就印出 Even;否則印出 Odd。
Python 一行 if/else 的語法
Python 的一行 if/else 寫法長這樣:
值1 if 條件 else 值2
可以理解成:
- 條件成立時,使用 值1。
- 條件不成立時,使用 值2。
套到這次的例子就是:
"Even" if number % 2 == 0 else "Odd"
🧭 一般寫法 vs 一行寫法
兩種寫法都可以完成同一件事,但閱讀感受不太一樣。
| 寫法 | 優點 | 適合情境 |
|---|---|---|
| 一般 if/else | 結構清楚、容易閱讀、適合初學者 | 判斷邏輯較多,或需要多行處理時。 |
| 一行 if/else | 簡潔、程式碼較短 | 條件很簡單,只是回傳兩種結果之一時。 |
我的看法
這篇其實也沒什麼複雜重點,只是記錄 if/else 原來可以一行寫完。
不過由這個例子可以感受到,Python 真的是一個很直觀的語言。 像 "Even" if number % 2 == 0 else "Odd" 這段,就算沒寫過太多程式,也大概能猜出它在做什麼。
但我自己仍然覺得,一般寫法很多時候比較直觀,因為排版整齊、一目了然。
一行寫法不是為了炫技,而是為了在「簡單判斷」時讓程式更簡潔。
如果一行寫完反而讓人看不懂,那就不如乖乖寫成多行。
如果一行寫完反而讓人看不懂,那就不如乖乖寫成多行。
💡 可讀性比簡短更重要
程式碼不是只有電腦會看,人也會看。
Martin Fowler 有一句很有名的話:
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
這句話大意是:
任何人都可以寫出電腦看得懂的程式。好的程式設計師,會寫出人也看得懂的程式。
換句話說,好的程式不只是能執行,也應該讓你的同事、未來的自己,一看就知道你在寫什麼。
✅ 小結
Python 的一行 if/else 寫法很方便,但要用在適合的地方。
- 一般寫法:適合邏輯較多、需要清楚排版的情境。
- 一行寫法:適合簡單判斷,讓程式碼更簡潔。
- 判斷原則:如果一行寫法變得難讀,就改回一般寫法。
簡單記法:
結果A if 條件 else 結果B
條件成立用結果 A,不成立用結果 B。
結果A if 條件 else 結果B
條件成立用結果 A,不成立用結果 B。
留言
張貼留言