Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出
一.標(biāo)準(zhǔn)輸出
1.使用表達式

2.使用print()函數(shù)
基本格式為:
print([輸出項1,輸出項2,......,輸出項n][,sep=分隔符][,end=結(jié)束符])
沒有輸出項時輸出一個空行:
print()

這里輸出了兩個空行是因為print()輸出了一個空行,結(jié)尾又輸出了一個換行符,所以是兩行。
其中,輸出項之間以逗號分隔,sep表示輸出時各輸出項之間的分隔符(默認以空格分隔),end表示結(jié)束符(默認以回車換行結(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.利用字符串格式化運算符%
一般格式為:
格式字符串%(輸出項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ù)后兩位。(默認右對齊)(小數(shù)點也算一個字符)

(12.35左邊有一個空格)
如果輸出項的數(shù)的位數(shù)大于控制輸出的長度:
print('%6.2f'%12345678.345)原樣輸出

左對齊的方式: (加負號)
print('%-6.2f'%12.345,end='*')
可以看到12.35與*之間有一個空格,即左對齊
例如:
print('%06.2f'%1.2345)在6的前面多加了個0,表示輸出的位數(shù)不足用6位就用0補足

除了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ù)(十進制) |
| %o | 帶符號整數(shù)(八進制) |
| %x或%X | 帶符號整數(shù)(十六進制,用小寫字母或大寫字母) |
| %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 | 十進制 |
| b | 二進制 |
| o | 八進制 |
| x或X | 十六進制 |
| 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個字符長度中進行對齊

print(format(-3.145,'$=8.2'))
$是填充字符,=表示填充字符$位于符號-和數(shù)字3之間

3.符號(+表示正號,-表示負號)
沒有+號時,輸出一個正數(shù)不會輸出+號,加上正號才會有+號
print(format(3.145, '8.2')) print(format(3.145, '+8.2'))

輸出一個正數(shù)時,即使加上負號也不會輸出-號
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?"))
輸出的格式控制:
序號和鍵后面可以跟一個冒號:和格式說明符,這就允許對輸出項進行更好的格式化。
例如,{0:8}表示format()中的第一個參數(shù)占8個字符寬度,如果輸出位數(shù)大于該寬度,就按實際位數(shù)輸出;如果輸出位數(shù)小于這個寬度,默認右對齊,左邊補空格,補足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))#用二進制形式輸出
print("{0:10o}".format(65))#用八進制形式輸出
print("{0:10x}".format(65))#用十六進制形式輸出
總結(jié)
到此這篇關(guān)于Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)輸出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)
這篇文章主要介紹了Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
python啟用gzip實現(xiàn)壓縮響應(yīng)體
這篇文章主要為大家詳細介紹了python后端如何啟用gzip實現(xiàn)壓縮響應(yīng)體,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-05-05
Python用zip函數(shù)同時遍歷多個迭代器示例詳解
這篇文章主要給大家進行介紹了Python如何用zip函數(shù)同時遍歷多個迭代器,文中給出了示例以及原理和注意事項,相信會對大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
利用 Python ElementTree 生成 xml的實例
這篇文章主要介紹了利用 Python ElementTree 生成 xml的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

