最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Python的格式化輸出

 更新時(shí)間:2021年10月18日 15:55:19   作者:_白白不白  
這篇文章主要介紹了python中的格式化輸出用法,分析了Python格式化輸出的種類(lèi)并結(jié)合實(shí)例形式總結(jié)了針對(duì)浮點(diǎn)數(shù)的格式化輸出方法,需要的朋友可以參考下

python的輸出

python輸出中的print()函數(shù),直接引用即可,它的完整格式為:

#最后面還有文件操作的,我們主要學(xué)習(xí)輸出相關(guān),所以暫不加入
print(object, sep=' ', end='\n')

object——是我們要輸出的東西,可以是變量也可以是具體的數(shù)據(jù),可以是單個(gè)也可以是多個(gè),如果是多個(gè)中間用' , '分隔即可

sep——當(dāng)我們要輸出多個(gè)東西時(shí)才會(huì)用到,它表示我們輸出的多個(gè)數(shù)據(jù)之間輸出時(shí)用什么來(lái)進(jìn)行分隔,如果輸出時(shí)不設(shè)置,那就默認(rèn)以一個(gè)空格來(lái)分隔

end——用來(lái)設(shè)置輸出完我們要輸出的數(shù)據(jù)之后,用什么來(lái)結(jié)尾。當(dāng)你不特意進(jìn)行設(shè)置時(shí)它默認(rèn)為end='\n' ,所以print()函數(shù)默認(rèn)輸出結(jié)束后自動(dòng)換行

print(1,2,3,end='')
print(1,2,3,sep='!')
print(1,2,3,)
#它們的輸出如下:
1 2 31!2!3
1 2 3
#請(qǐng)仔細(xì)思考為什么這樣,理清楚頭緒

我們?cè)贑語(yǔ)言中學(xué)的scanf()函數(shù)是格式化輸出的,可以設(shè)置要輸出的數(shù)據(jù)的格式與數(shù)據(jù)形式,那我們?cè)趐ython如何來(lái)實(shí)現(xiàn)呢?

int a=10;
float b=6.6;
scanf("%d%f\n",a,b);

上面C語(yǔ)言代碼用python實(shí)現(xiàn)為:

a=10
b=6.6
print("%d%f"%(a,b))
#print(a,b,sep='') 

如果對(duì)輸出數(shù)據(jù)格式有要求我們選用上面的方式,可以和c語(yǔ)言一樣對(duì)于輸出的格式進(jìn)行修改設(shè)定

如果對(duì)輸出格式?jīng)]有要求我們選用第二種方法,比較方便,與字符串一起輸出時(shí)可以用+進(jìn)行連接,但前提是輸出類(lèi)型也是字符串類(lèi)型的,如果不是字符串類(lèi)型,那我們可以用str()函數(shù)進(jìn)行強(qiáng)制轉(zhuǎn)換在進(jìn)行連接輸出,如下:

a=18
print("Her age is "+a+" !")

上面這樣寫(xiě)時(shí)錯(cuò)誤的,因?yàn)閍為賦值為18,所以a的數(shù)據(jù)類(lèi)型為整型,整型不可以直接與字符串用+進(jìn)行連接,所以正確的寫(xiě)法應(yīng)該是:

a=18
print("Her age is "+str(a)+" !")
#輸出為:Her age is 18 !

接下來(lái)具體講一下格式化輸出數(shù)據(jù),%的格式化輸出與C語(yǔ)言的大同小異:

%d——十進(jìn)制整數(shù)

%o —— 八進(jìn)制整數(shù)

%x —— 十六進(jìn)制整數(shù)

%f——浮點(diǎn)數(shù),小數(shù)點(diǎn)后面六位有效數(shù)字

%e ——指數(shù)形式輸出,小數(shù)點(diǎn)后面六位有效數(shù)字

%g ——六位有效數(shù)字的前提下,使用小數(shù)方式,否則使用科學(xué)計(jì)數(shù)法

a=5
print(10)
print("%d"%a)
print("%2d"%a)#輸出時(shí)按照2個(gè)空間大小輸出,默認(rèn)為右對(duì)齊
print("%-2d"%a)#2個(gè)空間大小,因?yàn)閐前面是-號(hào),所以左對(duì)齊
print("%02d"%a)#2個(gè)空間大小輸出,不夠的用0補(bǔ)齊
print("%-02d"%a)#2個(gè)空間大小輸出,不夠的用0補(bǔ)齊,左對(duì)齊

#以上代碼的輸出為:
10
5
5
5
05
5

總結(jié)一下上面代碼,%與d之間可以加一些數(shù)字或者符號(hào)來(lái)控制輸出數(shù)據(jù)的格式,具體為:

%(控制左右對(duì)齊)(用什么補(bǔ)齊)(按照幾位空間輸出)d分別為:

默認(rèn)為右對(duì)齊,負(fù)號(hào)為左對(duì)齊

默認(rèn)空格補(bǔ)齊,可以設(shè)置其他補(bǔ)齊

數(shù)字本身超過(guò)要求的空間時(shí),無(wú)影響,數(shù)據(jù)本身不夠時(shí),根據(jù)左右對(duì)齊,在根據(jù)補(bǔ)齊。說(shuō)白了就是占位置

其他的數(shù)據(jù)類(lèi)型也都是類(lèi)似的,無(wú)論是浮點(diǎn)數(shù)還是字符串,如%5.2f代表,占五個(gè)位置,并且保留兩位小數(shù),要特別注意的是浮點(diǎn)數(shù)的小數(shù)點(diǎn)也是占一個(gè)位置的,接下來(lái)看幾個(gè)實(shí)例,好好體會(huì)一下

b=5.21
print(b)
print("%f"%b)
print("%2.1f"%b)
print("%2.2f"%b)
print("%5.2f"%b)
print("%5.5f"%b)
print("%.5f"%b)

#上面的輸出依次為:
5.21
5.210000
5.2
5.21
5.21
5.21000
5.21000
#大家注意對(duì)比研究

有些東西必須要自己體會(huì)出來(lái)才能記下來(lái),希望大家能夠勤奮思考,不要偷懶!

接下來(lái)介紹一個(gè)函數(shù)——str.format()

相對(duì)基本格式化輸出采用‘%'的方法,format()功能更強(qiáng)大,該函數(shù)把字符串當(dāng)成一個(gè)模板,通過(guò)傳入的參數(shù)進(jìn)行格式化,并且使用大括號(hào)‘{}'作為特殊字符代替‘%'

廢話(huà)不多說(shuō)上代碼?。?!

#通過(guò)位置匹配,類(lèi)似于數(shù)組
print('{} {}'.format('hello','baibai'))#hello baibai
print('{1} {0}'.format('hello','baibai'))#baibai hello
print('{1} {1}'.format('hello','baibai'))#baibai baibai
print('{0} {0}{0}'.format('hello','baibai'))#hello hellohello
#通過(guò)對(duì)應(yīng)值名字進(jìn)行匹配,類(lèi)似于字典
#(這里也可以傳入一個(gè)字典類(lèi)型進(jìn)行key與value對(duì)應(yīng)?。?
print('{a},'.format(a='1',b='8'))#1,8

除了這些,我們還可以輸出更加復(fù)雜的數(shù)據(jù)類(lèi)型

#還是用一下我之前定義的一個(gè)數(shù)據(jù)
goods=[(1,"百事可樂(lè)",10,3),(2,"康師傅方便面",15,2),(3,"馬克杯",5,30)]
list=[1,2,3]
print('{0[1]}'.format(goods))#(2, '康師傅方便面', 15, 2)
print('{0[1]},{1[2]}'.format(goods,list))#(2, '康師傅方便面', 15, 2),3
print('{0[1][1]}'.format(goods,list))#康師傅方便面

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評(píng)論

万荣县| 临洮县| 海口市| 义乌市| 巩留县| 舟山市| 吴江市| 西青区| 铁力市| 贵南县| 类乌齐县| 偃师市| 清水河县| 台东市| 类乌齐县| 盘锦市| 保德县| 永平县| 昌宁县| 大名县| 莎车县| 临汾市| 资溪县| 临桂县| 万山特区| 垫江县| 陆川县| 德令哈市| 宁津县| 胶南市| 黔西| 龙州县| 台东县| 安吉县| 宝应县| 建宁县| 滁州市| 嫩江县| 乌鲁木齐县| 丘北县| 收藏|