Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出
一.標(biāo)準(zhǔn)輸出
1.使用表達(dá)式
2.使用print()函數(shù)
基本格式為:
print([輸出項(xiàng)1,輸出項(xiàng)2,......,輸出項(xiàng)n][,sep=分隔符][,end=結(jié)束符])
沒(méi)有輸出項(xiàng)時(shí)輸出一個(gè)空行:
print()
這里輸出了兩個(gè)空行是因?yàn)閜rint()輸出了一個(gè)空行,結(jié)尾又輸出了一個(gè)換行符,所以是兩行。
其中,輸出項(xiàng)之間以逗號(hào)分隔,sep表示輸出時(shí)各輸出項(xiàng)之間的分隔符(默認(rèn)以空格分隔),end表示結(jié)束符(默認(rèn)以回車(chē)換行結(jié)束)
x = 12 y = 45 print(x, y) #輸出項(xiàng)x與y之間以逗號(hào)分隔
因?yàn)闆](méi)有設(shè)置分隔符,所以以空格分隔:
如果有分隔符:
x = 12 y = 45 print(x, y, sep='-')
沒(méi)有設(shè)置end的情況:
x = 12 print(x)
結(jié)尾會(huì)多輸出一個(gè)換行符:
設(shè)置了end的情況:
x = 12 print(x, end='!')
結(jié)尾的換行符就變成了其他符號(hào):(不換行了)
例:
print(10, 20, sep='-', end='*') print(30)
二.格式化輸出
1.利用字符串格式化運(yùn)算符%
一般格式為:
格式字符串%(輸出項(xiàng)1,輸出項(xiàng)2,......,輸出項(xiàng)n)
例如:
print('The value is ¥%.2f' % 7.8)
單引號(hào)內(nèi)的字符為格式字符串,格式字符串分為普通字符和格式說(shuō)明符,格式說(shuō)明符以%開(kāi)頭,普通字符原樣輸出
本例中,The value is ¥是普通字符,原樣輸出,%.2f是格式說(shuō)明符,表示輸出項(xiàng)保留小數(shù)點(diǎn)后兩位。
例如:
print('Values are %s,%s,%s' % (1, 2.3, ['one', 'two', 'three']))
格式符%s表示輸出類型是字符串類型
輸出結(jié)果:
例如:
print('%6.2f'%12.345)
它表示輸出的長(zhǎng)度為6個(gè)字符,保留小數(shù)后兩位。(默認(rèn)右對(duì)齊)(小數(shù)點(diǎn)也算一個(gè)字符)
(12.35左邊有一個(gè)空格)
如果輸出項(xiàng)的數(shù)的位數(shù)大于控制輸出的長(zhǎng)度:
print('%6.2f'%12345678.345)
原樣輸出
左對(duì)齊的方式: (加負(fù)號(hào))
print('%-6.2f'%12.345,end='*')
可以看到12.35與*之間有一個(gè)空格,即左對(duì)齊
例如:
print('%06.2f'%1.2345)
在6的前面多加了個(gè)0,表示輸出的位數(shù)不足用6位就用0補(bǔ)足
除了0以外,我們還可以使用-與+
-表示左對(duì)齊,+表示在正數(shù)前面也加上+號(hào)
print('%-7.2f' % 1.2345, end='*\n') print('%+7.2f' % 1.2345, end='*\n') print('%-+7.2f' % 1.2345, end='*')
有時(shí)候在"%6.2f"這種格式字符串中,輸出長(zhǎng)度和小數(shù)位數(shù)不能事先指定,這時(shí)可以用%*.*f的形式
例如:
print('%0*.*f'%(8,2,123.524))
括號(hào)不能刪!
print('%0*.*f'%8,2,123.524) #這樣是不對(duì)的
相當(dāng)于:
print('%08.2f'%123.524)
例:
print('%+3d,%0.2f' % (25, 123.567)) print("Name:%-10s Age:%-8d Salary:%-0.2e" % ("Aviad", 25, 1839.8)) nHex = 0xFF print("nHex=%x,nDec=%d,nOct=%o" % (nHex, nHex, nHex))
格式說(shuō)明符 | 格式化結(jié)果 |
%% | 百分號(hào) |
%c | 字符 |
%s | 字符串 |
%d | 帶符號(hào)整數(shù)(十進(jìn)制) |
%o | 帶符號(hào)整數(shù)(八進(jìn)制) |
%x或%X | 帶符號(hào)整數(shù)(十六進(jìn)制,用小寫(xiě)字母或大寫(xiě)字母) |
%e或%E | 浮點(diǎn)數(shù)字(科學(xué)計(jì)數(shù)法,用小寫(xiě)e或大寫(xiě)E) |
%f或%F | 浮點(diǎn)數(shù)字(用小數(shù)點(diǎn)符號(hào)) |
%g或%G | 浮點(diǎn)數(shù)字(根據(jù)值的大小,采用%e,%f或%E,%F) |
2.利用format()內(nèi)置函數(shù)
format()函數(shù)可以將一個(gè)輸出項(xiàng)單獨(dú)格式化,一般格式為:
format(輸出項(xiàng)[,格式字符串])
如果省略格式字符串時(shí),該函數(shù)等價(jià)于函數(shù)“str(輸出項(xiàng))”的功能。
print(format("Hello"))
格式字符串 | 格式化結(jié)果 |
d | 十進(jìn)制 |
b | 二進(jìn)制 |
o | 八進(jìn)制 |
x或X | 十六進(jìn)制 |
f或F | 浮點(diǎn)數(shù)字(用小數(shù)點(diǎn)符號(hào)) |
e或E | 浮點(diǎn)數(shù)字(科學(xué)計(jì)數(shù)法,用小寫(xiě)e或大寫(xiě)E) |
g或G | 浮點(diǎn)數(shù)字(根據(jù)值的大小,采用%e,%f或%E,%F) |
c | 以整數(shù)為編碼的字符 |
% | 輸出百分號(hào) |
例:
print(format(15,'X'),format(65,'c'),format(3.145,'6.2f'))
格式字符串還可以指定:
1.填充字符
print(format(3.145,'08.2f')) print(format(3.145,'08.2'))
08.2f中,0是填充字符,8表示總共占8個(gè)字符長(zhǎng)度,.2f表示保留小數(shù)點(diǎn)后兩位(不包括小數(shù)點(diǎn))
08.2中,0是填充字符,8表示總共占8個(gè)字符長(zhǎng)度,.2表示不包括小數(shù)點(diǎn)在內(nèi)的輸出位數(shù)是2位
也就是說(shuō),假如用8.3輸出1.2345,那么會(huì)輸出1.23;用8.3輸出12.345的話,會(huì)輸出12.3
2.對(duì)齊方式(<表示左對(duì)齊,>表示右對(duì)齊,^表示居中對(duì)齊,=表示填充字符位于符號(hào)和數(shù)字之間)
print("01234567890123456789")#20個(gè)字符 print(format('text','<20')) print(format('text','^20')) print(format('text','>20'))
20表示在20個(gè)字符長(zhǎng)度中進(jìn)行對(duì)齊
print(format(-3.145,'$=8.2'))
$是填充字符,=表示填充字符$位于符號(hào)-和數(shù)字3之間
3.符號(hào)(+表示正號(hào),-表示負(fù)號(hào))
沒(méi)有+號(hào)時(shí),輸出一個(gè)正數(shù)不會(huì)輸出+號(hào),加上正號(hào)才會(huì)有+號(hào)
print(format(3.145, '8.2')) print(format(3.145, '+8.2'))
輸出一個(gè)正數(shù)時(shí),即使加上負(fù)號(hào)也不會(huì)輸出-號(hào)
print(format(3.145, '8.2')) print(format(3.145, '-8.2'))
3.字符串的format()方法
調(diào)用格式:
格式字符串.format(輸出項(xiàng)1,輸出項(xiàng)2,……,輸出項(xiàng)n)
其中格式字符串可以是普通字符和格式字符串。普通字符原樣輸出,格式字符串決定所對(duì)應(yīng)輸出項(xiàng)的轉(zhuǎn)換格式。
普通字符:
print("Hello".format())#普通字符
格式字符串使用大括號(hào)括起來(lái),一般形式如下:
{[序號(hào)或鍵]:格式說(shuō)明符}
序號(hào)對(duì)應(yīng)著后面的輸出項(xiàng):(省略全部序號(hào)按輸出項(xiàng)的順序輸出)
print("{0},{1},{2}".format(1, 2, 3)) print("{2},{1},{0}".format(1, 2, 3)) print("{0},{0},{0}".format(1, 2, 3)) print("{},{},{}".format(1, 2, 3))
可選的鍵要對(duì)應(yīng)輸出項(xiàng)的名字或字典的鍵值:
print("{y},{x},{z}".format(x=1, y="Hello", z=3))
其中x,y,z就是鍵。
如果序號(hào)或鍵與格式說(shuō)明符一起使用,那么就要在序號(hào)或鍵后面加上:再寫(xiě)格式說(shuō)明符
例:
print("{1:5.2f},{0}".format(500,3.1415))
{1:5.2f}中1表示輸出項(xiàng)1,:是必須寫(xiě)的,5.2f表示輸出占5個(gè)字符長(zhǎng)度,保留小數(shù)后兩位
例:
使用大括號(hào)“{}”格式說(shuō)明符,大括號(hào)及里面的字符(稱為格式化字符)將會(huì)被format()中的參數(shù)替換
print("I\'m{},{}".format("JYHZZ","Welcome!"))
import math print("The value of PI is approximately {}".format(math.pi))
使用“{序號(hào)}”形式的格式說(shuō)明符,在大括號(hào)中的數(shù)字用于指向輸出對(duì)象在format()函數(shù)中的位置。
print("{0},i\'m {1}.My E-mail is {2}".format("Hello","JTHZZ","666"))
改變格式說(shuō)明符的位置:
print("{1},i\'m {2}.My E-mail is {0}".format("666","Hello","JTHZZ"))
使用“{鍵}”形式的格式說(shuō)明符,大括號(hào)中是一個(gè)標(biāo)識(shí)符,該標(biāo)識(shí)符會(huì)指向使用該名字的參數(shù)
print("Hi,{nm}.{ms}".format(nm="JYHZZ",ms="How are you?"))
混合使用“{序號(hào)}”,“{鍵}”形式的格式說(shuō)明符
print("Hi,{0}.{ms}".format("JYHZZ",ms="How are you?"))
輸出的格式控制:
序號(hào)和鍵后面可以跟一個(gè)冒號(hào):和格式說(shuō)明符,這就允許對(duì)輸出項(xiàng)進(jìn)行更好的格式化。
例如,{0:8}表示format()中的第一個(gè)參數(shù)占8個(gè)字符寬度,如果輸出位數(shù)大于該寬度,就按實(shí)際位數(shù)輸出;如果輸出位數(shù)小于這個(gè)寬度,默認(rèn)右對(duì)齊,左邊補(bǔ)空格,補(bǔ)足8位。
{1:.3}表示第二個(gè)輸出項(xiàng)除小數(shù)點(diǎn)外的輸出位數(shù)是3位。
{1:.3}表示保留小數(shù)點(diǎn)后3位。
import math print("The value of PI is approximately {0:.3}".format(math.pi)) print("The value of PI is approximately {0:.3f}".format(math.pi))
例如:
print("{0:<15}".format(1234567890))#左對(duì)齊 print("{0:>15}".format(1234567890))#右對(duì)齊 print("{0:*^15}".format(1234567890))#中間對(duì)齊,空位以*填充 print("{0:10b}".format(65))#用二進(jìn)制形式輸出 print("{0:10o}".format(65))#用八進(jìn)制形式輸出 print("{0:10x}".format(65))#用十六進(jìn)制形式輸出
總結(jié)
到此這篇關(guān)于Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬蟲(chóng)框架scrapy實(shí)現(xiàn)downloader_middleware設(shè)置proxy代理功能示例
這篇文章主要介紹了Python爬蟲(chóng)框架scrapy實(shí)現(xiàn)downloader_middleware設(shè)置proxy代理功能,結(jié)合實(shí)例形式分析了scrapy框架proxy代理設(shè)置技巧與相關(guān)問(wèn)題注意事項(xiàng),需要的朋友可以參考下2018-08-08如何將Pycharm中Terminal使用Powershell作為終端
這篇文章主要介紹了如何將Pycharm中Terminal使用Powershell作為終端問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05利用 Python 實(shí)現(xiàn)多任務(wù)進(jìn)程
這篇文章主要介紹如何利用 Python 實(shí)現(xiàn)多任務(wù)進(jìn)程,正在執(zhí)行的程序,由程序、數(shù)據(jù)和進(jìn)程控制塊組成,是正在執(zhí)行的程序,程序的一次執(zhí)行過(guò)程,是資源調(diào)度的基本單位。下面就來(lái)詳細(xì)介紹改內(nèi)容,需要的朋友可以參考一下2021-10-10python爬蟲(chóng)parsel-css選擇器的具體用法
本文主要介紹了python爬蟲(chóng)parsel-css選擇器的具體用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Python generator生成器和yield表達(dá)式詳解
這篇文章主要介紹了Python generator生成器和yield表達(dá)式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Python連接SQL Server數(shù)據(jù)庫(kù)并實(shí)時(shí)讀取數(shù)據(jù)
在Python中,可以使用pyodbc庫(kù)來(lái)連接SQL Server數(shù)據(jù)庫(kù),并使用pandas庫(kù)來(lái)進(jìn)行數(shù)據(jù)處理,下面我們就來(lái)講講如何實(shí)時(shí)讀取SQL Server數(shù)據(jù)庫(kù)表,并將數(shù)據(jù)寫(xiě)入Excel文件,需要的可以參考下2023-12-12