Python 字串格式化入門教學
你是否曾經遇到要在 print() 中顯示變數內容,但不知道該怎麼優雅地寫出整齊又清楚的訊息?
本篇將帶你一步一步認識 Python 的 三種字串格式化方式:
((第1和第2種可以看過稍微了解概念就好,覺得麻煩的話可以直接看第3點的 f-string XD))
%格式化 (舊式)str.format()格式化 (新式)- Python 3.6+ 的
f-string(最推薦!!新手請直接學)
1️⃣ 舊式格式化:% 操作符
這是 Python 最早期的格式化方式,很像 C 語言中的 printf。
|
|
✅ 格式說明:
| 符號 | 代表意思 | 範例 |
|---|---|---|
%s |
字串 | 'World' |
%d |
整數(decimal) | 100 |
%f |
浮點數 | 3.14 |
你也可以控制小數點位數:
|
|
2️⃣ str.format() 方法(新式)
這種寫法較有彈性,也更容易閱讀和管理。
|
|
也可以加入欄位索引或變數名稱:
|
|
3️⃣ f-string(Python 3.6+ 最推薦)
f-string 是目前最推薦的格式化方式,簡潔、直觀、可讀性高。
|
|
f-string 補充:對齊與寬度設定
你可以使用 f-string 的語法來控制欄位的寬度與對齊方式。
|
|
輸出結果:
|
|
對齊格式一覽:
| 語法 | 說明 |
|---|---|
:>10 |
右對齊,寬度 10 |
:<10 |
左對齊,寬度 10 |
:^10 |
置中對齊,寬度 10 |
:*^10 |
置中並用 * 補滿 |
|
|
三種格式化方式比較
| 類型 | 語法風格 | 可讀性 | 推薦程度 |
|---|---|---|---|
舊式 % |
'hi %s' % name |
中 | ❌ 不推薦 |
.format() |
'hi {}'.format() |
中上 | ☑️ 可用 |
| f-string | f'hi {name}' |
高 | ✅✅✅✅✅ |
總結
| 如果你使用的是 Python 3.6+,強烈建議直接使用 f-string,簡單又強大!
| 如果還在學舊專案或 C 語言背景的人,可以理解 % 是歷史包袱,但新專案建議避免使用。
小練習
試著完成以下程式碼,輸出你的名字與分數(保留小數點後 1 位):
|
|