5個(gè)Python使用F-String進(jìn)行格式化的實(shí)用技巧分享
F-String(格式化字符串字面值)是在Python 3.6中引入的,它是一種非常強(qiáng)大且靈活的字符串格式化方法。
它允許你在字符串中嵌入表達(dá)式,這些表達(dá)式在運(yùn)行時(shí)會(huì)被求值并轉(zhuǎn)換為字符串,這種特性使得F-String在編寫Python代碼時(shí)能夠更簡潔、更直觀地處理字符串。
本文總結(jié)了5個(gè)實(shí)用的F-String技巧,相信一定能讓你的代碼輸出更加的美觀,清晰。
1. 大數(shù)字
在Python的數(shù)據(jù)分析的項(xiàng)目中,經(jīng)常接觸到很大的數(shù)字,直接打印出大數(shù)字的話,很難看出它究竟有多少位。
n = 100000000 print(n) # 100000000
用F-String來格式化,可以將大數(shù)字用千分位的形式顯示出來。
# 千分位的分隔符用 _ 或者 , 都可以
print(f"{n:_}")
# 100_000_000
print(f"{n:,}")
# 100,000,000
2. 浮點(diǎn)數(shù)
對(duì)于浮點(diǎn)數(shù),除了可以用千分位分隔之外,還可以指定顯示幾位小數(shù)。
n = 1234.5678
print(f"{n:.2f}")
# 1234.57
print(f"{n:.0f}")
# 1235
print(f"{n:,.3f}")
# 1,234.568
print(f"{n:_.3f}")
# 1_234.568
顯示前會(huì)自動(dòng)做四舍五入的計(jì)算。
3. 對(duì)齊
對(duì)齊不僅是讓輸出更加美觀,更重要的是清晰,能夠讓我們更容易找到輸出中的關(guān)鍵的信息。
比如,下面對(duì)齊輸出name和value。
name = "var"
value = 100
# >20 表示右對(duì)齊,并且占用20個(gè)字符的空間
print(f"{name:>20}: {value}")
# <20 表示左對(duì)齊,并且占用20個(gè)字符的空間
print(f"{name:<20}: {value}")
# ^20 表示居中對(duì)齊,并且占用20個(gè)字符的空間
print(f"{name:^20}: {value}")
# 運(yùn)行結(jié)果
var: 100
var : 100
var : 10
占用的20個(gè)字符的空間,包括var這個(gè)字符串,也就是說,占用的空間包含var和17個(gè)空格。
F-String格式化輸出時(shí),默認(rèn)是用空格來占位的,我們也可以定義自己的占位符。
# 下面的例子分別用 _ # | 來占位
print(f"{name:_>20}: {value}")
print(f"{name:#<20}: {value}")
print(f"{name:|^20}: {value}")
# 運(yùn)行結(jié)果 _________________var: 100 var#################: 100 ||||||||var|||||||||: 100
4. 日期
日期的格式化也是很常用的,python的日期格式化字符都可以在F-String中使用。
from datetime import datetime
now = datetime.now()
print(f"{now:%Y-%m-%d (%H:%M:%S)}")
# 2024-03-12 (00:17:05)
print(f"{now:%c}")
# Tue Mar 12 00:17:05 2024
print(f"{now:%I%p}")
# 12AM
5. 變量描述
最后這個(gè)功能很有用,但估計(jì)沒多少人知道。
所謂變量描述,也就是說在輸出變量的時(shí)候,不僅輸出變量的值,也輸出變量的名字。
比如,一般我們輸出變量是這樣:
a = 10
b = 20
s = "hello"
print(f"{a + b}")
# 30
print(f"{s}")
# hello
這樣輸出之后,我們不知道30和hello是哪個(gè)變量的值。
所以,我們一般會(huì)像下面這樣輸出:
print(f"a + b = {a + b}")
# a + b = 30
print(f"s = {s}")
# s = hello
F-String有個(gè)技巧,可以避免自己手動(dòng)去輸入變量的名字(比如上面的a + b = 和 s =)。
print(f"{a + b = }")
# a + b = 30
print(f"{s = }")
# s = hello
這樣不僅簡化的寫代碼,而且變量名稱發(fā)生變化的時(shí)候,也可以減少修改的地方。
到此這篇關(guān)于5個(gè)Python使用F-String進(jìn)行格式化的實(shí)用技巧分享的文章就介紹到這了,更多相關(guān)Python F-String格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的網(wǎng)頁截圖功能【PyQt4與selenium組件】
這篇文章主要介紹了Python實(shí)現(xiàn)的網(wǎng)頁截圖功能,結(jié)合實(shí)例形式分別描述了使用PyQt4組件與selenium組件進(jìn)行網(wǎng)頁截圖操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07
pytorch中nn.Flatten()函數(shù)詳解及示例
nn.Flatten是一個(gè)類,而torch.flatten()則是一個(gè)函數(shù),下面這篇文章主要給大家介紹了關(guān)于pytorch中nn.Flatten()函數(shù)詳解及示例的相關(guān)資料,需要的朋友可以參考下2023-01-01
python實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)感知器算法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)感知器算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
對(duì)python創(chuàng)建及引用動(dòng)態(tài)變量名的示例講解
今天小編就為大家分享一篇對(duì)python創(chuàng)建及引用動(dòng)態(tài)變量名的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Django實(shí)現(xiàn)接口token檢測的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Django實(shí)現(xiàn)接口token檢測,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解
我們?cè)谧鰯?shù)據(jù)處理的時(shí)候遇到pandas列轉(zhuǎn)行的問題,這篇文章主要給大家介紹了關(guān)于pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
python實(shí)現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法
這篇文章主要介紹了python實(shí)現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法,以URL轉(zhuǎn)換成文件路徑為例分析了Python實(shí)現(xiàn)地址轉(zhuǎn)換的技巧,需要的朋友可以參考下2015-07-07

