Python3 輸出格式化字串
阿新 • • 發佈:2018-11-08
Python3 輸出格式化字串
佔位符
我們經常會輸出類似‘你好,xxx!你的成績是xxx,全班排名為xxx’
的字串。
在Python中,採用了%
來實現,例子如下:
>>> '你好, %s, 你的成績是:%d, 全班排名為:第%d名' % ('小明', 88, 22)
'你好, 小明, 你的成績是:88, 全班排名為:第22名'
%
運算子就是用來格式化字串的。%s
->字串替換,%d
->整數替換。後面的變數或者值,要順序對應好前面。
常見的佔位符
佔位符 | 替換內容 |
---|---|
%d | 整數 |
%f | 浮點數 |
%s | 字串 |
%x | 十六進位制整數 |
佔位符的使用
有時候會不知到該使用哪一個佔位符,那麼就用%s
,%s
永遠會起作用。
>>> '%s是男生: %s' % ('小明', True)
'小明是男生: True'
有時候,%
只是一個普通的字元。那就要使用到轉義,用%%
表示一個%
:
>>> '成績提升了: %d %%' % 18
'成績提升了: 18 %'
format( )
另一種格式化字串的方法就是使用format( )
,它會用傳入的引數依次替換字串內的佔位符{0}
、{1}
……
>>> '你好, {0}, 你的成績為:{1}分, 全班排名為:第{2}名'.format('小明', 98, 10)
'你好, 小明, 你的成績為:98分, 全班排名為:第10名'
PS:浮點數保留多位小數
下面用幾個例子來說明怎麼保留多位小數
(1)保留兩位小數:
>>> '成績提升了{0:.2f}%'.format(3.141592)
'成績提升了3.14%'
(2)保留三位小數:
>>> '成績提升了{0:.3f}%' .format(3.141592)
'成績提升了3.142%'