【Python自學】格式化字串f-string的用法
這篇整理 Python 的 f-string,也就是格式化字串。它可以讓我們很方便地把變數放進字串裡,讓輸出文字更簡潔、更好讀。
📘 f-string:Python 格式化字串
f-string 是 Python 中很常用的字串格式化寫法。
簡單來說,只要在字串前面加上一個 f,就代表這是一個可以插入變數的字串。
name = "阿元"
print(f"你好,我是{name}")
執行結果:
你好,我是阿元
🧭 f-string 的用途
f 放在字串前面,代表這是一個可插入變數的字串。
只要在字串中使用 {變數名稱},Python 就會自動把變數的內容放進字串裡。
基本格式
f"文字內容{變數名稱}文字內容"
簡單範例
name = "阿元"
age = 25
print(f"我是{name},今年{age}歲")
執行結果:
我是阿元,今年25歲
f-string 的核心概念:把變數放進大括號 {} 裡,Python 會自動替你填入變數內容。
🛒 為什麼需要 f-string?
先寫一段購物計算的例子。
假設使用者輸入商品名稱、價格與數量,程式計算總金額後,把結果印出來。
使用 f-string 的寫法
item = input("你要買什麼?")
price = float(input("價格是多少?"))
quantity = float(input("總共要買幾個?"))
total = price * quantity
print(f"購買了{quantity}個{item}總共需要{total}元")
程式執行範例
你要買什麼?蘋果
價格是多少?30
總共要買幾個?5
購買了5.0個蘋果總共需要150.0元
這樣的寫法很直覺,只要把想插入的變數放進 {} 裡就可以。
🔁 如果不用 f-string 會怎樣?
如果不用 f-string,就需要用字串串接的方式來寫。
print("購買了" + str(quantity) + "個" + item + "總共需要" + str(total) + "元")
這樣不只比較長,也比較難讀。
而且只要變數不是字串,例如 quantity 和 total 是數字,就必須先用 str() 轉成字串才能串接。
使用 + 串接字串時,如果把數字直接和字串相加,可能會出現型別錯誤。
所以常常需要先寫 str(quantity)、str(total)。
所以常常需要先寫 str(quantity)、str(total)。
📋 f-string 與傳統字串串接比較
以下用表格比較兩種寫法的差異。
| 寫法 | 範例 | 特色 |
|---|---|---|
| f-string | f"總共{total}元" | 簡潔、好讀、可直接放變數。 |
| 字串串接 | "總共" + str(total) + "元" | 較長,數字要先轉成字串。 |
使用 f-string 只要用 {} 把變數放進文字裡即可,不需要每個變數都手動轉成字串,寫起來既簡潔又清楚。
🔢 補充:用 f-string 控制小數位數
如果購物金額出現很多小數位,可以用 f-string 控制顯示格式。
item = "蘋果"
price = 30
quantity = 5
total = price * quantity
print(f"購買了{quantity}個{item}總共需要{total:.2f}元")
執行結果:
購買了5個蘋果總共需要150.00元
其中 {total:.2f} 的意思是:把 total 顯示成小數點後 2 位。
{變數:.2f}
常用在金額、成績、平均值等需要固定小數位數的情境。
🧪 再看一個完整範例
下面是一個更完整一點的購物輸出範例。
item = input("你要買什麼?")
price = float(input("價格是多少?"))
quantity = int(input("總共要買幾個?"))
total = price * quantity
print(f"商品:{item}")
print(f"單價:{price:.2f} 元")
print(f"數量:{quantity}")
print(f"總金額:{total:.2f} 元")
程式執行範例
你要買什麼?香蕉
價格是多少?12.5
總共要買幾個?6
商品:香蕉
單價:12.50 元
數量:6
總金額:75.00 元
這種寫法很適合用在需要清楚輸出資料的情境。
✅ 小結
f-string 是 Python 中非常實用的格式化字串寫法,尤其適合把變數放進輸出文字中。
- 字串前面加 f:代表這是一個 f-string。
- 使用大括號:{變數名稱} 可以插入變數內容。
- 比字串串接更好讀:不用一直寫 + 和 str()。
- 可以控制格式:例如 {total:.2f} 可顯示小數點後 2 位。
- 適合輸出結果:例如購物金額、使用者資訊、計算結果。
f"文字{變數}文字"
例如:
f"購買了{quantity}個{item}總共需要{total}元"
最後用一句話記住:
f-string 就是讓變數自然地住進字串裡。
f-string 就是讓變數自然地住進字串裡。
留言
張貼留言