【Python】全方面解读Python的格式化输出
今天來(lái)和大家聊聊Python當(dāng)中的格式化輸出,希望會(huì)對(duì)大家所有幫助
%占位符的使用
我們先來(lái)看一下下面的這個(gè)例子,
country_?=?"France" currency_?=?"Euro"print("%s?is?the?currency?of?%s"?%?(currency_,?country_))output
Euro?is?the?currency?of?France當(dāng)然我們除了%s之外,代表的是字符串,還有%f代表的是浮點(diǎn)數(shù)以及%d代表的是整數(shù),我們來(lái)看下面的這個(gè)例子,
name?=?'欣一' age?=?24 height?=?1.88print('我是:%s, 年齡:%d, 身高:%fm'?%?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.880000m我們可以依據(jù)保留小數(shù)點(diǎn)后面固定的位數(shù),默認(rèn)的精度為6位,即是小數(shù)點(diǎn)后6位,當(dāng)然我們也可以保留例如2位小數(shù),代碼如下
print('我是:%s, 年齡:%d, 身高:%.2fm'?%?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.88m當(dāng)然有時(shí)候我們指定了字符串的最終長(zhǎng)度,但是現(xiàn)有的字符串遠(yuǎn)遠(yuǎn)沒有那么長(zhǎng),因?yàn)槲覀兙托枰砑涌崭竦姆绞絹?lái)填充,可以填充在左邊當(dāng)然也可以填充在右邊,代碼如下
##?左填充 display('%10s'?%?('欣一'))##?右填充 display('%-10s'?%?('欣一'))output
'????????欣一' '欣一????????'f-string格式化
我們將上面的案例稍稍做一個(gè)修改,代碼如下
country_?=?"France" currency_?=?"Euro"print(f"{currency_}?is?the?currency?of?{country_}")output
Euro?is?the?currency?of?France使用f-string格式化的方法好就好在可以直接使用變量名來(lái)填充句子當(dāng)中的內(nèi)容,當(dāng)然我們也可以拿它直接來(lái)進(jìn)行數(shù)值運(yùn)算,代碼如下
print(f'計(jì)算結(jié)果是:{2*10?+ 3*15}')output
65或者直接和Python當(dāng)中的內(nèi)置函數(shù)以及l(fā)ambda方法聯(lián)用,代碼如下
string_test?=?'Python?is?awesome' print(f'我想說?{string_test.lower()}')output
我想說?python?is?awesome以及
a?=?100 b?=?10 print(f'計(jì)算的結(jié)果是:{(lambda x,y:x+y)(a,b)}')output
計(jì)算的結(jié)果是:110format關(guān)鍵字
format關(guān)鍵字來(lái)格式化輸出字符串有多種方式,
不指定位置
我們來(lái)看一下下面的這個(gè)例子,代碼如下
print('我是:{}, 年齡:{}, 身高:{}m'.format?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.88m位置默認(rèn)開始從0計(jì)算,然后對(duì)應(yīng)位置填入數(shù)據(jù)
指定位置
也可以是指定位置的填入數(shù)據(jù),代碼如下
print('我是:{0}, 年齡:{1}, 身高:{2}m'.format?(name,age,height)) print('我是:{0}, 年齡:{1}, 身高:{1}m'.format?(name,age,height)) print('我是:{0}, 年齡:{2}, 身高:{1}m'.format?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.88m 我是:欣一, 年齡:24, 身高:24m 我是:欣一, 年齡:1.88, 身高:24m關(guān)鍵字配對(duì)
我們也可以按照關(guān)鍵字配對(duì)的方式來(lái)進(jìn)行內(nèi)容的填充,代碼如下
print('我是:{name}, 年齡:{age}, 身高:{height}m'.format(name='欣一',?age=25,?height=1.88))output
我是:欣一, 年齡:25, 身高:1.88m字典參數(shù)
當(dāng)我們數(shù)據(jù)是以字典的形式來(lái)展現(xiàn)的時(shí)候,就可以這么來(lái)做
dic?=?{'name':'欣一','age':24,'height':1.88} print('我是:{name}, 年齡:{age}, 身高:{height}m'.format(**dic))output
我是:欣一, 年齡:24, 身高:1.88m列表參數(shù)
同樣的,當(dāng)我們的數(shù)據(jù)是以列表的形式來(lái)展現(xiàn)的時(shí)候,就可以這么來(lái)做
foods?=?['fish',?'beef',?'fruit'] s?=?'i?like?eat?{}?and?{}?and?{}'.format(*foods) print(s)output
i?like?eat?fish?and?beef?and?fruit或者是有根據(jù)位置來(lái)進(jìn)行填充,代碼如下
foods?=?['fish',?'beef',?'fruit'] s?=?'i?like?eat?{2}?and?{0}?and?{1}'.format(*foods) print(s)output
i?like?eat?fruit?and?fish?and?beef精度
有時(shí)候我們碰到需要對(duì)小數(shù)點(diǎn)后面的數(shù)字保留幾位小數(shù),代碼上可以這么來(lái)操作
pi?=?3.1415926 print("{:.2f}".format(pi))?#?保留兩位小數(shù) print("{:+.3f}".format(pi))?#?帶符號(hào)保留3位小數(shù) print("{:.2%}".format(pi))?#?百分比保留兩位小數(shù)output
3.14 +3.142 314.16%千分位分隔符
主要是用于貨幣數(shù)據(jù)的格式化輸出,例如是將“100000”變化成“100,000”,代碼如下
print('{:,}'.format(100000000))output
100,000,000有時(shí)候我們還需要在前面添加上貨幣符號(hào),代碼如下
print('${:,}'.format(100000000))output
$100,000,000往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課黃海廣老師《機(jī)器學(xué)習(xí)課程》711頁(yè)完整版課件本站qq群955171419,加入微信群請(qǐng)掃碼:
總結(jié)
以上是生活随笔為你收集整理的【Python】全方面解读Python的格式化输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学术相关】刚刚,中科院最新预警期刊名单
- 下一篇: 观察者模式和js自定义事件