【硬核干货】2500字全方面解读Python的格式化输出
大家好,我是欣一,今天小編來和大家聊聊Python當中的格式化輸出,希望會對大家所有幫助
%占位符的使用
我們先來看一下下面的這個例子,
country_?=?"France" currency_?=?"Euro"print("%s?is?the?currency?of?%s"?%?(currency_,?country_))output
Euro?is?the?currency?of?France當然我們除了%s之外,代表的是字符串,還有%f代表的是浮點數以及%d代表的是整數,我們來看下面的這個例子,
name?=?'欣一' age?=?24 height?=?1.88print('我是:%s, 年齡:%d, 身高:%fm'?%?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.880000m我們可以依據保留小數點后面固定的位數,默認的精度為6位,即是小數點后6位,當然我們也可以保留例如2位小數,代碼如下
print('我是:%s, 年齡:%d, 身高:%.2fm'?%?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.88m當然有時候我們指定了字符串的最終長度,但是現有的字符串遠遠沒有那么長,因為我們就需要添加空格的方式來填充,可以填充在左邊當然也可以填充在右邊,代碼如下
##?左填充 display('%10s'?%?('欣一'))##?右填充 display('%-10s'?%?('欣一'))output
'????????欣一' '欣一????????'f-string格式化
我們將上面的案例稍稍做一個修改,代碼如下
country_?=?"France" currency_?=?"Euro"print(f"{currency_}?is?the?currency?of?{country_}")output
Euro?is?the?currency?of?France使用f-string格式化的方法好就好在可以直接使用變量名來填充句子當中的內容,當然我們也可以拿它直接來進行數值運算,代碼如下
print(f'計算結果是:{2*10?+ 3*15}')output
65或者直接和Python當中的內置函數以及lambda方法聯用,代碼如下
string_test?=?'Python?is?awesome' print(f'我想說?{string_test.lower()}')output
我想說?python?is?awesome以及
a?=?100 b?=?10 print(f'計算的結果是:{(lambda x,y:x+y)(a,b)}')output
計算的結果是:110format關鍵字
format關鍵字來格式化輸出字符串有多種方式,
不指定位置
我們來看一下下面的這個例子,代碼如下
print('我是:{}, 年齡:{}, 身高:{}m'.format?(name,age,height))output
我是:欣一, 年齡:24, 身高:1.88m位置默認開始從0計算,然后對應位置填入數據
指定位置
也可以是指定位置的填入數據,代碼如下
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關鍵字配對
我們也可以按照關鍵字配對的方式來進行內容的填充,代碼如下
print('我是:{name}, 年齡:{age}, 身高:{height}m'.format(name='欣一',?age=25,?height=1.88))output
我是:欣一, 年齡:25, 身高:1.88m字典參數
當我們數據是以字典的形式來展現的時候,就可以這么來做
dic?=?{'name':'欣一','age':24,'height':1.88} print('我是:{name}, 年齡:{age}, 身高:{height}m'.format(**dic))output
我是:欣一, 年齡:24, 身高:1.88m列表參數
同樣的,當我們的數據是以列表的形式來展現的時候,就可以這么來做
foods?=?['fish',?'beef',?'fruit'] s?=?'i?like?eat?{}?and?{}?and?{}'.format(*foods) print(s)output
i?like?eat?fish?and?beef?and?fruit或者是有根據位置來進行填充,代碼如下
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精度
有時候我們碰到需要對小數點后面的數字保留幾位小數,代碼上可以這么來操作
pi?=?3.1415926 print("{:.2f}".format(pi))?#?保留兩位小數 print("{:+.3f}".format(pi))?#?帶符號保留3位小數 print("{:.2%}".format(pi))?#?百分比保留兩位小數output
3.14 +3.142 314.16%千分位分隔符
主要是用于貨幣數據的格式化輸出,例如是將“100000”變化成“100,000”,代碼如下
print('{:,}'.format(100000000))output
100,000,000有時候我們還需要在前面添加上貨幣符號,代碼如下
print('${:,}'.format(100000000))output
$100,000,000各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)推薦閱讀牛逼!Python常用數據類型的基本操作(長文系列第①篇) 牛逼!Python的判斷、循環和各種表達式(長文系列第②篇)牛逼!Python函數和文件操作(長文系列第③篇)牛逼!Python錯誤、異常和模塊(長文系列第④篇)總結
以上是生活随笔為你收集整理的【硬核干货】2500字全方面解读Python的格式化输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 粉丝给我发色情app,我反手对色情app
- 下一篇: 抽丝剥茧,深入剖析 Python 如何实