5個Python使用F-String進(jìn)行格式化的實用技巧分享
F-String
(格式化字符串字面值)是在Python 3.6中引入的,它是一種非常強(qiáng)大且靈活的字符串格式化方法。
它允許你在字符串中嵌入表達(dá)式,這些表達(dá)式在運行時會被求值并轉(zhuǎn)換為字符串,這種特性使得F-String
在編寫Python
代碼時能夠更簡潔、更直觀地處理字符串。
本文總結(jié)了5個實用的F-String
技巧,相信一定能讓你的代碼輸出更加的美觀,清晰。
1. 大數(shù)字
在Python
的數(shù)據(jù)分析的項目中,經(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. 浮點數(shù)
對于浮點數(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
顯示前會自動做四舍五入的計算。
3. 對齊
對齊不僅是讓輸出更加美觀,更重要的是清晰,能夠讓我們更容易找到輸出中的關(guān)鍵的信息。
比如,下面對齊輸出name
和value
。
name = "var" value = 100 # >20 表示右對齊,并且占用20個字符的空間 print(f"{name:>20}: {value}") # <20 表示左對齊,并且占用20個字符的空間 print(f"{name:<20}: {value}") # ^20 表示居中對齊,并且占用20個字符的空間 print(f"{name:^20}: {value}")
# 運行結(jié)果 var: 100 var : 100 var : 10
占用的20
個字符的空間,包括var
這個字符串,也就是說,占用的空間包含var
和17
個空格。
F-String
格式化輸出時,默認(rèn)是用空格來占位的,我們也可以定義自己的占位符。
# 下面的例子分別用 _ # | 來占位 print(f"{name:_>20}: {value}") print(f"{name:#<20}: {value}") print(f"{name:|^20}: {value}")
# 運行結(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. 變量描述
最后這個功能很有用,但估計沒多少人知道。
所謂變量描述,也就是說在輸出變量的時候,不僅輸出變量的值,也輸出變量的名字。
比如,一般我們輸出變量是這樣:
a = 10 b = 20 s = "hello" print(f"{a + b}") # 30 print(f"{s}") # hello
這樣輸出之后,我們不知道30
和hello
是哪個變量的值。
所以,我們一般會像下面這樣輸出:
print(f"a + b = {a + b}") # a + b = 30 print(f"s = {s}") # s = hello
F-String
有個技巧,可以避免自己手動去輸入變量的名字(比如上面的a + b =
和 s =
)。
print(f"{a + b = }") # a + b = 30 print(f"{s = }") # s = hello
這樣不僅簡化的寫代碼,而且變量名稱發(fā)生變化的時候,也可以減少修改的地方。
到此這篇關(guān)于5個Python使用F-String進(jìn)行格式化的實用技巧分享的文章就介紹到這了,更多相關(guān)Python F-String格式化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python網(wǎng)絡(luò)請求模塊urllib與requests使用介紹
網(wǎng)絡(luò)爬蟲的第一步就是根據(jù)URL,獲取網(wǎng)頁的HTML信息。在Python3中,可以使用urllib和requests進(jìn)行網(wǎng)頁數(shù)據(jù)獲取,這篇文章主要介紹了Python網(wǎng)絡(luò)請求模塊urllib與requests使用2022-10-10Django框架設(shè)置cookies與獲取cookies操作詳解
這篇文章主要介紹了Django框架設(shè)置cookies與獲取cookies操作,結(jié)合實例形式詳細(xì)分析了Django框架針對cookie操作的各種常見技巧與操作注意事項,需要的朋友可以參考下2019-05-05在Python中執(zhí)行和調(diào)用JavaScript的多種方法小結(jié)
JavaScript(JS)是一種常用的腳本語言,通常用于網(wǎng)頁開發(fā),但有時也需要在Python中執(zhí)行或調(diào)用JavaScript代碼,本文將詳細(xì)介紹Python中執(zhí)行和調(diào)用JavaScript的多種方法,每種方法都將附有示例代碼,方便理解如何在Python中與JavaScript進(jìn)行互動,需要的朋友可以參考下2023-11-11Django序列化中SerializerMethodField的使用詳解
這篇文章主要介紹了Django序列化中SerializerMethodField的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03python中的正則表達(dá)式,貪婪匹配與非貪婪匹配方式
這篇文章主要介紹了python中的正則表達(dá)式,貪婪匹配與非貪婪匹配方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01