Python 的 format() 函數

在 Python 中,`format()` 函數是一個強大的工具,能夠幫助開發者輕鬆地格式化字串,使其更具可讀性與靈活性。隨著 Python 語言的演進,`f-string`(格式化字串)已成為更推薦的方式,但 `format()` 函數仍然具有其獨特的價值與應用場景。

format() 函數的基本用法

`format()` 函數的基本用法是將字串中的佔位符替換為指定的內容。例如:

“`python
name = “John”
print(“Hello, {name}!”.format(name=name))
“`

這段程式碼輸出:

“`
Hello, John!
“`

這樣的寫法不僅清晰,還讓字串的格式化變得簡單易懂。

格式化數字

除了字串,`format()` 函數還可以用來格式化數字。例如:

“`python
num = 123.4567
print(“The number is {num:.2f}”.format(num=num))
“`

這段程式碼輸出:

“`
The number is 123.46
“`

值得注意的是,這裡使用了格式規範符號,將數字格式化為兩位小數。

格式化日期

`format()` 函數同樣支援日期的格式化,以下是一個範例:

“`python
import datetime
date = datetime.datetime.now()
print(“Today is {date:%Y-%m-%d}”.format(date=date))
“`

這段程式碼會輸出當前日期,例如:

“`
Today is 2025-06-01
“`

格式化字典

使用 `format()` 函數格式化字典也相當簡單,請看以下範例:

“`python
person = {‘name’: ‘John’, ‘age’: 25}
print(“{person[name]} is {person[age]} years old”.format(person=person))
“`

這段程式碼將輸出:

“`
John is 25 years old
“`

格式化列表

對於列表的格式化,`format()` 函數同樣可以輕鬆處理:

“`python
numbers = [1, 2, 3] print(“The numbers are {numbers[0]}, {numbers[1]}, and {numbers[2]}”.format(numbers=numbers))
“`

這裡的輸出結果為:

“`
The numbers are 1, 2, and 3
“`

使用 f-string 進行格式化

雖然 `format()` 函數提供了強大的功能,但在 Python 3.6 之後,`f-string` 被引入,並成為了更簡潔的格式化方式。例如:

“`python
name = “John”
num = 123.4567
date = datetime.datetime.now()

print(f”Hello, {name}!”)
print(f”The number is {num:.2f}”)
print(f”Today is {date:%Y-%m-%d}”)
“`

這種語法更直觀且易於閱讀,是 Python 開發者的首選。

錯誤排除

在使用 `format()` 函數時,可能會遇到一些常見錯誤,例如:

– **KeyError**:當你嘗試使用不存在的鍵時,會引發此錯誤。請檢查你的字典或變數名稱是否正確。
– **IndexError**:當列表中沒有足夠的項目時,將會引發此錯誤。確保你的列表長度符合你要訪問的索引。

延伸應用

`format()` 函數在處理大型專案、報告生成或數據展示時非常有用。開發者可利用它來創建簡報、生成報告或格式化日誌輸出。

更多關於 Python 的教學與資源,請參考 [vocus.cc 的 Python 教學文章](https://vocus.cc)。

Q&A(常見問題解答)

**Q1: format() 函數與 f-string 有什麼差異?**
A1: `format()` 函數是 Python 2 和 3 都支持的格式化方法,而 f-string 是 Python 3.6 及以上版本的特性。f-string 更加簡潔且易於閱讀。

**Q2: format() 函數可以用來處理哪些資料類型?**
A2: `format()` 函數可以處理字串、數字、日期、字典和列表等多種資料類型,並能夠靈活地格式化它們。

**Q3: 使用 format() 時會遇到哪些常見錯誤?**
A3: 常見錯誤包括 KeyError 和 IndexError,這通常是由於鍵名或索引不正確所引起的。

這樣的優化不僅提升了文章的可讀性和完整性,還更符合 SEO 最佳實踐。

Categorized in:

Tagged in: