python中的f-string

hisun9發表於2024-11-24

在 Python 中,f" " 語法表示 f-string,是一種用於格式化字串的方式。f 代表“格式化”(formatted),即它允許在字串中嵌入表示式或變數,並將其評估後嵌入到字串中。

這種語法在 Python 3.6 及以後版本中被引入,是一種非常簡潔且高效的字串格式化方法。

1. 基本用法

在 f-string 中,你可以直接在字串中使用花括號 {} 來包含變數或表示式,並且這些表示式會在字串建立時自動被求值並替換為對應的值

比如

name = "Alice"
age = 30
greeting = f"Hello, my name is {name} and I am {age} years old."
print(greeting)

輸出如下:

img

在上面的例子中,f" " 字串中嵌入了 name 和 age 變數,它們會被替換成對應的值。

2. 表示式支援

f-string 不僅支援變數,還支援任何有效的 Python 表示式。例如,你可以在花括號內進行計算、呼叫函式、訪問屬性等。

比如

a = 5
b = 10
result = f"The sum of {a} and {b} is {a + b}."
print(result)

輸出如下:

img

在這個例子中,a + b 被直接嵌入到 f-string 中,計算結果 15 會在字串中顯示。

3. 格式化數字

f-string 還允許你使用格式化程式碼來控制如何顯示數值。例如,可以設定浮點數的小數位數、整數的對齊方式等。

比如

pi = 3.141592653589793
formatted_pi = f"Pi to 3 decimal places is {pi:.3f}."
print(formatted_pi)

輸出如下:

img

在這個例子中,{pi:.3f} 表示將 pi 格式化為保留三位小數的浮點數。

關於設定整數對齊方式的相關內容,可以看下這篇部落格python如何設定整數對齊方式

4. 多行 f-string

f-string 也支援多行字串,可以使用三引號 f""" """f''' ''' 來建立多行格式化字串。

比如

name = "Alice"
age = 30
message = f"""
Name: {name}
Age: {age}
"""
print(message)

輸出如下:

img

5. 效能

f-string 的優點之一是效能比傳統的格式化方法(如 % 格式化str.format())更高效。

6. 總結

  • f-string 是一種在 Python 中用於字串格式化的簡潔方式。

  • 使用 f" " 字首,可以在字串中直接嵌入變數和表示式。

  • 它可以提高程式碼的可讀性和效能,是推薦的格式化方式。

  • f-string 支援複雜的表示式和格式化選項,使得字串格式化更加靈活和強大。

相關文章