Python字符串格式化f-string多種功能實(shí)現(xiàn)
f-string 格式化
f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入對應(yīng)的數(shù)據(jù)對象。
如下所示
f'稅前薪資是:{salary}元, 繳稅:{tax}元, 稅后薪資是:{aftertax}元'
完整的代碼如下
salary = input('請輸入薪資:') # 計(jì)算出繳稅額,存入變量tax tax = int(salary) *25/100 # 計(jì)算出稅后工資,存入變量aftertax aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary}元, 繳稅:{tax}元, 稅后薪資是:{aftertax}元')
運(yùn)行一下,可以發(fā)現(xiàn)輸出結(jié)果一樣。這種方式是不是更加的直觀明了呢?
要注意的是,這種寫法必須要Python解釋器是3.6 以后的版本才支持哦。
指定寬度
同樣,為了輸出對齊,我們需要指定填入的字符串的寬度。
方法是,在括號里面的變量后面加上 :寬度值
比如
salary = 10000
print(f'{salary:10}')
f'{salary:10}' 就指定了 寬度為10 個字符, 如果填入的字符串不足10個字符,就在前面加上空格.比如上面的輸出結(jié)果就是
>>> salary = 10000
>>> print(f'{salary:10}')
10000
完整的一個示例程序如下
# 員工 1 salary = 8000 tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:8}元, 繳稅:{tax:8}元, 稅后薪資是:{aftertax:8}元') # 員工 2 salary = 15000 tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:8}元, 繳稅:{tax:8}元, 稅后薪資是:{aftertax:8}元') # 員工 3 salary = 100000 tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:8}元, 繳稅:{tax:8}元, 稅后薪資是:{aftertax:8}元')
運(yùn)行一下結(jié)果如下:
稅前薪資是: 8000元, 繳稅: 2000.0元, 稅后薪資是: 6000.0元
稅前薪資是: 15000元, 繳稅: 3750.0元, 稅后薪資是: 11250.0元
稅前薪資是: 100000元, 繳稅: 25000.0元, 稅后薪資是: 75000.0元
這樣,整體就顯得很清爽。
當(dāng)然上面的代碼 有很多重復(fù)的部分。聰明的你想到怎么優(yōu)化一下了嗎?
對了,用函數(shù)。像這樣
def calcTax(salary): tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:8}元, 繳稅:{tax:8}元, 稅后薪資是:{aftertax:8}元') # 員工 1 calcTax(8000) # 員工 2 calcTax(15000) # 員工 3 calcTax(100000)
左對齊
上面的輸出結(jié)果是不足在前面補(bǔ)空格,最終的結(jié)果就是右邊對齊。 如果我們想左對齊,可以在括號里使用 < 符號
像這樣 {salary:<8}
def calcTax(salary): tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:<8}元, 繳稅:{tax:<8}元, 稅后薪資是:{aftertax:<8}元') calcTax(8320) calcTax(15023) calcTax(100030)
運(yùn)行結(jié)果如下:
稅前薪資是:8320 元, 繳稅:2080.0 元, 稅后薪資是:6240.0 元
稅前薪資是:15023 元, 繳稅:3755.75 元, 稅后薪資是:11267.25元
稅前薪資是:100030 元, 繳稅:25007.5 元, 稅后薪資是:75022.5 元
小數(shù)點(diǎn)后位數(shù)
如果我們想指定小數(shù)點(diǎn)后保留幾位,可以像這樣 {salary:<8.1f}
后面的.1f就表示小數(shù)點(diǎn)后面保留1位
def calcTax(salary): tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:8.1f}元, 繳稅:{tax:8.1f}元, 稅后薪資是:{aftertax:8.1f}元') calcTax(8320) calcTax(15023) calcTax(100030)
運(yùn)行結(jié)果如下:
稅前薪資是: 8320.0元, 繳稅: 2080.0元, 稅后薪資是: 6240.0元
稅前薪資是: 15023.0元, 繳稅: 3755.8元, 稅后薪資是: 11267.2元
稅前薪資是:100030.0元, 繳稅: 25007.5元, 稅后薪資是: 75022.5元
不足補(bǔ)零
如果我們想在不足指定寬度的時候不是補(bǔ)空格,而是補(bǔ)數(shù)字0,可以像這樣 {salary:08}
def calcTax(salary): tax = int(salary) *25/100 aftertax = int(salary) *75/100 print(f'稅前薪資是:{salary:08}元, 繳稅:{tax:08.1f}元, 稅后薪資是:{aftertax:08.1f}元') calcTax(8320) calcTax(15023) calcTax(100030)
運(yùn)行結(jié)果如下:
稅前薪資是:00008320元, 繳稅:002080.0元, 稅后薪資是:006240.0元
稅前薪資是:00015023元, 繳稅:003755.8元, 稅后薪資是:011267.2元
稅前薪資是:00100030元, 繳稅:025007.5元, 稅后薪資是:075022.5元
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python網(wǎng)絡(luò)爬蟲 Scrapy中selenium用法詳解
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲 Scrapy中selenium用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值2019-09-09Django QuerySet查詢集原理及代碼實(shí)例
這篇文章主要介紹了Django QuerySet查詢集原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06分享Pandas庫中的一些寶藏函數(shù)transform()
Pandas具有很多強(qiáng)大的功能,transform就是其中之一,利用它可以高效地匯總數(shù)據(jù)且不改變數(shù)據(jù)行數(shù),transform是一種什么數(shù)據(jù)操作?如果熟悉SQL的窗口函數(shù),就非常容易理解了2021-09-09Python實(shí)現(xiàn)有趣的親戚關(guān)系計(jì)算器
每年的春節(jié),都會有一些自己幾乎沒印象但父母就是很熟的親戚,關(guān)系凌亂到你自己都說不清。本文就來用Python制作一個有趣的親戚關(guān)系計(jì)算器,感興趣的可以了解一下2023-01-01