網頁

2021/2/18

Python F-strings 字串格式化 formatted string literals

Python字串格式化除了傳統%佔位符或str.foramt(),還可使用Formatted String Literals,簡稱f-strings,又稱Literal String Interpolation(字串插值)。

f-strings字串格式化是從Python 3.6開始才有的功能,可以在字串中插入變數值或表示式(expression)來達到字串格式化的效果。

使用方式為在字串引號'前加上fF,然後在字串中使用花括弧(curly braces){}代表要替換的部分。

name = 'John'
age = 30
place = 'Taipei'
text = f'Hello! My name is {name}, {age} years old, live in {place}'

print(text)  # Hello! My name is John, 30 years old, live in Taipei

括弧{}內除了變數,也可寫表示式。

x = 1
y = 2

print(f'x + y = {x + y}')  # x + y = 3
print(f'x > y = {x > y}')  # False

從Python 3.8開始若要顯示{}內表示式文字本身及表示式的結果,可在表示式後加上=,例如下面結果同上。

x = 1
y = 2

print(f'{x + y = }')  # x + y = 3
print(f'{x > y = }')  # False

{}能寫表示式當然也可以呼叫函式。

text = 'hello world'

print(f'Say {text}! The length of the text {text!r} is {len(text)}, the upper case is {text.upper()}.')
      # Say hello world! The length of the text 'hello world' is 11, the upper case is HELLO WORLD.


沒有留言:

張貼留言