Python字串格式化除了傳統%
佔位符或str.foramt()
,還可使用Formatted String Literals,簡稱f-strings,又稱Literal String Interpolation(字串插值)。
f-strings字串格式化是從Python 3.6開始才有的功能,可以在字串中插入變數值或表示式(expression)來達到字串格式化的效果。
使用方式為在字串引號'
前加上f
或F
,然後在字串中使用花括弧(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.
沒有留言:
張貼留言