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