Python 字串格式化指南

霍格沃兹测试开发学社發表於2024-04-25

前言

在 Python 中,字串格式化是一種常見且重要的操作,用於將變數或值插入到字串中,並控制輸出的格式。本文將介紹幾種常見的字串格式化方法,幫助大家掌握在 Python 中有效地處理字串的技巧。

方法一:使用 % 運算子格式化字串

使用 % 運算子是一種傳統的字串格式化方法,可以透過將變數插入到字串中來建立格式化的字串。

格式符為真實值預留位置,並控制顯示的格式。格式符可以包含有一個型別碼,用以控制顯示的型別,如下:

- %s    字串 (採用str()的顯示)

- %r    字串 (採用repr()的顯示)

- %c    單個字元

- %b    二進位制整數

- %d    十進位制整數

- %i    十進位制整數

- %o    八進位制整數

- %x    十六進位制整數

- %e    指數 (基底寫為e)

- %E    指數 (基底寫為E)

- %f    浮點數

- %F    浮點數,與上相同

- %g    指數(e)或浮點數 (根據顯示長度)

- %G    指數(E)或浮點數 (根據顯示長度)

- %%    字元"%",顯示百分號%

示例如下:

name = "Alice"
age = 30

formatted_string = "Hello, %s! You are %d years old." % (name, age)
print(formatted_string)

-----------
輸出結果:
Hello, Alice! You are 30 years old.

在上面的示例中,%s%d 是佔位符,分別用來表示字串和整數型別。透過將變數傳遞給 % 運算子右側的元組,可以將變數的值插入到字串中。

方法二:使用 str.format() 方法

str.format() 方法是一種更靈活和強大的字串格式化方法,可以根據需要指定插入變數的位置,並進行更復雜的格式化。

name = "Bob"
age = 25

formatted_string = "Hello, {}! You are {} years old.".format(name, age)
print(formatted_string)

----------------
輸出結果:
Hello, Bob! You are 25 years old.

在上面的示例中,{} 是佔位符,用來表示變數的插入位置。透過在format()方法中傳遞變數,可以按照順序將它們插入到字串中。

方法三:使用 f-strings(格式化字串字面值)

自從 Python 3.6 版本開始,引入了 f-strings,它是一種直觀且易用的字串格式化方法,可以在字串前加上 f F 來建立格式化字串。

name = "Charlie"
age = 35

formatted_string = f"Hello, {name}! You are {age} years old."
print(formatted_string)
---------
結果如下:
Hello, Charlie! You are 35 years old.

在上面的示例中,透過在字串前加上 f,可以直接在 {}中使用變數,使得字串的格式化更加清晰和簡潔。

高階用法:格式化控制

除了簡單的插入變數外,字串格式化還支援更多的格式化控制,如指定數字的小數位數、對齊方式等。

pi = 3.1415926

formatted_string = f"Value of pi: {pi:.2f}"
print(formatted_string)

------------------
輸出結果:
Value of pi: 3.14

在上面的示例中,:.2f 指定了浮點數 pi 的格式,保留小數點後兩位。

總結

本文介紹了在 Python 中常用的字串格式化方法,包括 % 運算子、tr.format() 方法和 f-strings。這些方法都可以幫助我們根據需要將變數插入到字串中,並控制輸出的格式。根據實際情況和個人偏好,選擇合適的字串格式化方法,以提高程式碼的可讀性和靈活性。

相關文章