溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python如何實現(xiàn)字符串格式化f-string多種功能

發(fā)布時間:2020-07-28 14:56:21 來源:億速云 閱讀:118 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了Python如何實現(xiàn)字符串格式化f-string多種功能,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

f-string 格式化

f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入對應(yīng)的數(shù)據(jù)對象。

如下所示

f'稅前薪資是:{salary}元, 繳稅:{tax}元, 稅后薪資是:{aftertax}元'

完整的代碼如下

salary = input('請輸入薪資:')
 
# 計算出繳稅額,存入變量tax
tax = int(salary) *25/100
 
# 計算出稅后工資,存入變量aftertax
aftertax = int(salary) *75/100
print(f'稅前薪資是:{salary}元, 繳稅:{tax}元, 稅后薪資是:{aftertax}元')

運行一下,可以發(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}元')

運行一下結(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é)果是不足在前面補空格,最終的結(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)

運行結(jié)果如下:

稅前薪資是:8320 元, 繳稅:2080.0 元, 稅后薪資是:6240.0 元
稅前薪資是:15023 元, 繳稅:3755.75 元, 稅后薪資是:11267.25元
稅前薪資是:100030 元, 繳稅:25007.5 元, 稅后薪資是:75022.5 元

小數(shù)點后位數(shù)

如果我們想指定小數(shù)點后保留幾位,可以像這樣 {salary:<8.1f}

后面的.1f就表示小數(shù)點后面保留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)

運行結(jié)果如下:

稅前薪資是: 8320.0元, 繳稅: 2080.0元, 稅后薪資是: 6240.0元
稅前薪資是: 15023.0元, 繳稅: 3755.8元, 稅后薪資是: 11267.2元
稅前薪資是:100030.0元, 繳稅: 25007.5元, 稅后薪資是: 75022.5元

不足補零

如果我們想在不足指定寬度的時候不是補空格,而是補數(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)

運行結(jié)果如下:

稅前薪資是:00008320元, 繳稅:002080.0元, 稅后薪資是:006240.0元
稅前薪資是:00015023元, 繳稅:003755.8元, 稅后薪資是:011267.2元
稅前薪資是:00100030元, 繳稅:025007.5元, 稅后薪資是:075022.5元

看完上述內(nèi)容,是不是對Python如何實現(xiàn)字符串格式化f-string多種功能有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI