淺談Python中的字符串格式化輸出
今天小編就和大家來分享一下Python當中的字符串格式化輸出,相信大多數人也對此有所耳聞,但是f-string的格式化輸出還是很多不為人所數值的一些特征,因此本篇文章也是希望借此機會來向大家一一說明。
時間與日期的輸出
f-string在形式上是以f或者F修飾符引領的字符串,(f'xxx'或者F'xxxx'),以大括號{}標明被替換的字段。首先,我們來看時間和日期的格式化輸出,代碼如下:
import datetime
today = datetime.datetime.today()
print(f"{today:%Y-%m-%d}")
output:
2022-05-04
或者是:
print(f"{today:%Y}")
output:
2022
而關于Python的時間日期的格式化符號,其中%Y表示的是四位數的年份(000-9999),而%m表示的則是月份(01-12),%d表示的則是月內中的一天(0-31),除此之外,還有表示時間的%H:%M:%S格式,其中%H表示的是24小時制的小時數(0-23),12小時制的則是%I,后面剩余的則是分鐘和秒數,這里就不做過多的贅述。
打印浮點數更加多樣化
打印浮點數的時候,形式也可以是多種多樣的,我們可以指定小數點后面保留特定的位數:
x, y = 10, 25
print(f"x={x:.3f}, y={y:.3f}")
output:
x=10.000, y=25.000
我們還可以給整數添加千分位的符號,代碼如下:
number = 1234567890
print(f"{number: ,}")
output:
1,234,567,890
另外還可以在數字的最前面添加上貨幣符號:
number = 254.3463
print(f"{f'${number:.3f}'}")
output:
$254.346
打印字符串時
當f-string和字符串結合時,可以與字符串的其他方法聯用,代碼如下:
name = 'ERIC'
print(f'My name is {name.lower()}')
output:
My name is eric
除了lower()方法之外,還有upper()方法、capitalize()方法、replace()方法、split()方法等等:
name = 'ERIC'
print(f'My name is {name.capitalize()}')
output:
My name is Eric
和Lambda函數的結合
最后f-string格式化輸出也可以和lambda函數結合來使用,代碼如下:
print(f"{(lambda x: x**2)(4)}")
output:
16