Python字符串格式化%s%d%f詳解
關(guān)于討論輸出格式化的問題,小編不是一時(shí)興起,之前學(xué)習(xí)python的時(shí)候就經(jīng)常遇到輸出時(shí)“%d”,一直沒有仔細(xì)學(xué)習(xí),今天又看到了,下面分享一個(gè)簡(jiǎn)單實(shí)例,python輸出99乘法表:
#!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j),
結(jié)果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
>>>
下面我們就來研究下字符串輸出格式化的具體內(nèi)容。
%s 字符串
string="hello" #%s打印時(shí)結(jié)果是hello print "string=%s" % string # output: string=hello #%2s意思是字符串長(zhǎng)度為2,當(dāng)原字符串的長(zhǎng)度超過2時(shí),按原長(zhǎng)度打印,所以%2s的打印結(jié)果還是hello print "string=%2s" % string # output: string=hello #%7s意思是字符串長(zhǎng)度為7,當(dāng)原字符串的長(zhǎng)度小于7時(shí),在原字符串左側(cè)補(bǔ)空格, #所以%7s的打印結(jié)果是 hello print "string=%7s" % string # output: string= hello #%-7s意思是字符串長(zhǎng)度為7,當(dāng)原字符串的長(zhǎng)度小于7時(shí),在原字符串右側(cè)補(bǔ)空格, #所以%-7s的打印結(jié)果是 hello print "string=%-7s!" % string # output: string=hello ! #%.2s意思是截取字符串的前2個(gè)字符,所以%.2s的打印結(jié)果是he print "string=%.2s" % string # output: string=he #%.7s意思是截取字符串的前7個(gè)字符,當(dāng)原字符串長(zhǎng)度小于7時(shí),即是字符串本身, #所以%.7s的打印結(jié)果是hello print "string=%.7s" % string # output: string=hello #%a.bs這種格式是上面兩種格式的綜合,首先根據(jù)小數(shù)點(diǎn)后面的數(shù)b截取字符串, #當(dāng)截取的字符串長(zhǎng)度小于a時(shí),還需要在其左側(cè)補(bǔ)空格 print "string=%7.2s" % string # output: string= he print "string=%2.7s" % string # output: string=hello print "string=%10.7s" % string # output: string= hello #還可以用%*.*s來表示精度,兩個(gè)*的值分別在后面小括號(hào)的前兩位數(shù)值指定 print "string=%*.*s" % (7,2,string) # output: string= he
%d 整型
num=14 #%d打印時(shí)結(jié)果是14 print "num=%d" % num # output: num=14 #%1d意思是打印結(jié)果為1位整數(shù),當(dāng)整數(shù)的位數(shù)超過1位時(shí),按整數(shù)原值打印,所以%1d的打印結(jié)果還是14 print "num=%1d" % num # output: num=14 #%3d意思是打印結(jié)果為3位整數(shù),當(dāng)整數(shù)的位數(shù)不夠3位時(shí),在整數(shù)左側(cè)補(bǔ)空格,所以%3d的打印結(jié)果是 14 print "num=%3d" % num # output: num= 14 #%-3d意思是打印結(jié)果為3位整數(shù),當(dāng)整數(shù)的位數(shù)不夠3位時(shí),在整數(shù)右側(cè)補(bǔ)空格,所以%3d的打印結(jié)果是14_ print "num=%-3d" % num # output: num=14_ #%05d意思是打印結(jié)果為5位整數(shù),當(dāng)整數(shù)的位數(shù)不夠5位時(shí),在整數(shù)左側(cè)補(bǔ)0,所以%05d的打印結(jié)果是00014 print "num=%05d" % num # output: num=00014 #%.3d小數(shù)點(diǎn)后面的3意思是打印結(jié)果為3位整數(shù), #當(dāng)整數(shù)的位數(shù)不夠3位時(shí),在整數(shù)左側(cè)補(bǔ)0,所以%.3d的打印結(jié)果是014 print "num=%.3d" % num # output: num=014 #%.0003d小數(shù)點(diǎn)后面的0003和3一樣,都表示3,意思是打印結(jié)果為3位整數(shù), #當(dāng)整數(shù)的位數(shù)不夠3位時(shí),在整數(shù)左側(cè)補(bǔ)0,所以%.3d的打印結(jié)果還是014 print "num=%.0003d" % num # output: num=014 #%5.3d是兩種補(bǔ)齊方式的綜合,當(dāng)整數(shù)的位數(shù)不夠3時(shí),先在左側(cè)補(bǔ)0,還是不夠5位時(shí),再在左側(cè)補(bǔ)空格, #規(guī)則就是補(bǔ)0優(yōu)先,最終的長(zhǎng)度選數(shù)值較大的那個(gè),所以%5.3d的打印結(jié)果還是 014 print "num=%5.3d" % num # output: num= 014 #%05.3d是兩種補(bǔ)齊方式的綜合,當(dāng)整數(shù)的位數(shù)不夠3時(shí),先在左側(cè)補(bǔ)0,還是不夠5位時(shí), #由于是05,再在左側(cè)補(bǔ)0,最終的長(zhǎng)度選數(shù)值較大的那個(gè),所以%05.3d的打印結(jié)果還是00014 print "num=%05.3d" % num # output: num=00014 #還可以用%*.*d來表示精度,兩個(gè)*的值分別在后面小括號(hào)的前兩位數(shù)值指定 #如下,不過這種方式04就失去補(bǔ)0的功能,只能補(bǔ)空格,只有小數(shù)點(diǎn)后面的3才能補(bǔ)0 print "num=%*.*d" % (04,3,num) # output: num= 014
%f 浮點(diǎn)型
import math #%a.bf,a表示浮點(diǎn)數(shù)的打印長(zhǎng)度,b表示浮點(diǎn)數(shù)小數(shù)點(diǎn)后面的精度 #只是%f時(shí)表示原值,默認(rèn)是小數(shù)點(diǎn)后5位數(shù) print "PI=%f" % math.pi # output: PI=3.141593 #只是%9f時(shí),表示打印長(zhǎng)度9位數(shù),小數(shù)點(diǎn)也占一位,不夠左側(cè)補(bǔ)空格 print "PI=%9f" % math.pi # output: PI=_3.141593 #只有.沒有后面的數(shù)字時(shí),表示去掉小數(shù)輸出整數(shù),03表示不夠3位數(shù)左側(cè)補(bǔ)0 print "PI=%03.f" % math.pi # output: PI=003 #%6.3f表示小數(shù)點(diǎn)后面精確到3位,總長(zhǎng)度6位數(shù),包括小數(shù)點(diǎn),不夠左側(cè)補(bǔ)空格 print "PI=%6.3f" % math.pi # output: PI=_3.142 #%-6.3f表示小數(shù)點(diǎn)后面精確到3位,總長(zhǎng)度6位數(shù),包括小數(shù)點(diǎn),不夠右側(cè)補(bǔ)空格 print "PI=%-6.3f" % math.pi # output: PI=3.142_ #還可以用%*.*f來表示精度,兩個(gè)*的值分別在后面小括號(hào)的前兩位數(shù)值指定 #如下,不過這種方式06就失去補(bǔ)0的功能,只能補(bǔ)空格 print "PI=%*.*f" % (06,3,math.pi) # output: PI=_3.142
總結(jié)
以上就是本文關(guān)于Python字符串格式化%s%d%f詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
python 遞歸深度優(yōu)先搜索與廣度優(yōu)先搜索算法模擬實(shí)現(xiàn)
這篇文章主要介紹了python 遞歸深度優(yōu)先搜索與廣度優(yōu)先搜索算法模擬實(shí)現(xiàn) ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10Python結(jié)合MySQL數(shù)據(jù)庫(kù)編寫簡(jiǎn)單信息管理系統(tǒng)完整實(shí)例
最近Python課堂上布置了綜合實(shí)訓(xùn),實(shí)驗(yàn)?zāi)繕?biāo)是設(shè)計(jì)一個(gè)信息管理系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Python結(jié)合MySQL數(shù)據(jù)庫(kù)編寫簡(jiǎn)單信息管理系統(tǒng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06pytorch中transform.Compose()用法詳解
PyTorch是一個(gè)開源的Python機(jī)器學(xué)習(xí)庫(kù),基于Torch,用于自然語(yǔ)言處理等應(yīng)用程序,這篇文章主要介紹了pytorch中transform.Compose()用法,需要的朋友可以參考下2023-10-10一文詳細(xì)介紹Python中的OrderedDict對(duì)象
OrderedDict是Python標(biāo)準(zhǔn)庫(kù)collections模塊的一部分,下面這篇文章主要給大家介紹了關(guān)于Python中OrderedDict對(duì)象的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08Python實(shí)現(xiàn)WGS84火星百度及web墨卡托四種坐標(biāo)系相互轉(zhuǎn)換
主流被使用的地理坐標(biāo)系并不統(tǒng)一,常用的有WGS84、GCJ02(火星坐標(biāo)系)、BD09(百度坐標(biāo)系)以及百度地圖中保存矢量信息的web墨卡托,本文利用Python編寫相關(guān)類以實(shí)現(xiàn)4種坐標(biāo)系統(tǒng)之間的互相轉(zhuǎn)換2023-08-08在VScode中配置Python開發(fā)環(huán)境的超詳細(xì)指南
在使用VSCode編寫Python代碼前,我們需要先配置Python環(huán)境,這篇文章主要給大家介紹了關(guān)于在VScode中配置Python開發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2023-12-12Python模糊查詢本地文件夾去除文件后綴的實(shí)例(7行代碼)
下面小編就為大家?guī)硪黄狿ython模糊查詢本地文件夾去除文件后綴的實(shí)例(7行代碼) 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11Pytorch+PyG實(shí)現(xiàn)GraphConv過程示例詳解
這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GraphConv過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04詳解Python如何利用pymysql封裝項(xiàng)目通用的連接和查詢
一個(gè)項(xiàng)目通常都需要有數(shù)據(jù)庫(kù),本文就來為大家詳細(xì)講講Python如何利用pymysql簡(jiǎn)單分裝一個(gè)通用的連接,關(guān)閉和查詢,需要的可以參考一下2022-07-07