Python數據的標準輸出與格式化輸出
一.標準輸出
1.使用表達式

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

這里輸出了兩個空行是因為print()輸出了一個空行,結尾又輸出了一個換行符,所以是兩行。
其中,輸出項之間以逗號分隔,sep表示輸出時各輸出項之間的分隔符(默認以空格分隔),end表示結束符(默認以回車換行結束)
x = 12 y = 45 print(x, y) #輸出項x與y之間以逗號分隔
因為沒有設置分隔符,所以以空格分隔:

如果有分隔符:
x = 12 y = 45 print(x, y, sep='-')

沒有設置end的情況:
x = 12 print(x)
結尾會多輸出一個換行符:

設置了end的情況:
x = 12 print(x, end='!')
結尾的換行符就變成了其他符號:(不換行了)

例:
print(10, 20, sep='-', end='*') print(30)

二.格式化輸出
1.利用字符串格式化運算符%
一般格式為:
格式字符串%(輸出項1,輸出項2,......,輸出項n)
例如:
print('The value is ¥%.2f' % 7.8)單引號內的字符為格式字符串,格式字符串分為普通字符和格式說明符,格式說明符以%開頭,普通字符原樣輸出
本例中,The value is ¥是普通字符,原樣輸出,%.2f是格式說明符,表示輸出項保留小數點后兩位。

例如:
print('Values are %s,%s,%s' % (1, 2.3, ['one', 'two', 'three']))格式符%s表示輸出類型是字符串類型
輸出結果:

例如:
print('%6.2f'%12.345)它表示輸出的長度為6個字符,保留小數后兩位。(默認右對齊)(小數點也算一個字符)

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

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

除了0以外,我們還可以使用-與+
-表示左對齊,+表示在正數前面也加上+號
print('%-7.2f' % 1.2345, end='*\n')
print('%+7.2f' % 1.2345, end='*\n')
print('%-+7.2f' % 1.2345, end='*')
有時候在"%6.2f"這種格式字符串中,輸出長度和小數位數不能事先指定,這時可以用%*.*f的形式
例如:
print('%0*.*f'%(8,2,123.524))括號不能刪!
print('%0*.*f'%8,2,123.524) #這樣是不對的相當于:
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))
| 格式說明符 | 格式化結果 |
| %% | 百分號 |
| %c | 字符 |
| %s | 字符串 |
| %d | 帶符號整數(十進制) |
| %o | 帶符號整數(八進制) |
| %x或%X | 帶符號整數(十六進制,用小寫字母或大寫字母) |
| %e或%E | 浮點數字(科學計數法,用小寫e或大寫E) |
| %f或%F | 浮點數字(用小數點符號) |
| %g或%G | 浮點數字(根據值的大小,采用%e,%f或%E,%F) |
2.利用format()內置函數
format()函數可以將一個輸出項單獨格式化,一般格式為:
format(輸出項[,格式字符串])
如果省略格式字符串時,該函數等價于函數“str(輸出項)”的功能。
print(format("Hello"))
| 格式字符串 | 格式化結果 |
| d | 十進制 |
| b | 二進制 |
| o | 八進制 |
| x或X | 十六進制 |
| f或F | 浮點數字(用小數點符號) |
| e或E | 浮點數字(科學計數法,用小寫e或大寫E) |
| g或G | 浮點數字(根據值的大小,采用%e,%f或%E,%F) |
| c | 以整數為編碼的字符 |
| % | 輸出百分號 |
例:
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表示保留小數點后兩位(不包括小數點)
08.2中,0是填充字符,8表示總共占8個字符長度,.2表示不包括小數點在內的輸出位數是2位
也就是說,假如用8.3輸出1.2345,那么會輸出1.23;用8.3輸出12.345的話,會輸出12.3

2.對齊方式(<表示左對齊,>表示右對齊,^表示居中對齊,=表示填充字符位于符號和數字之間)
print("01234567890123456789")#20個字符
print(format('text','<20'))
print(format('text','^20'))
print(format('text','>20'))20表示在20個字符長度中進行對齊

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

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

輸出一個正數時,即使加上負號也不會輸出-號
print(format(3.145, '8.2')) print(format(3.145, '-8.2'))

3.字符串的format()方法
調用格式:
格式字符串.format(輸出項1,輸出項2,……,輸出項n)
其中格式字符串可以是普通字符和格式字符串。普通字符原樣輸出,格式字符串決定所對應輸出項的轉換格式。
普通字符:
print("Hello".format())#普通字符
格式字符串使用大括號括起來,一般形式如下:
{[序號或鍵]:格式說明符}
序號對應著后面的輸出項:(省略全部序號按輸出項的順序輸出)
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))
可選的鍵要對應輸出項的名字或字典的鍵值:
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個字符長度,保留小數后兩位

例:
使用大括號“{}”格式說明符,大括號及里面的字符(稱為格式化字符)將會被format()中的參數替換
print("I\'m{},{}".format("JYHZZ","Welcome!"))
import math
print("The value of PI is approximately {}".format(math.pi))
使用“{序號}”形式的格式說明符,在大括號中的數字用于指向輸出對象在format()函數中的位置。
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"))
使用“{鍵}”形式的格式說明符,大括號中是一個標識符,該標識符會指向使用該名字的參數
print("Hi,{nm}.{ms}".format(nm="JYHZZ",ms="How are you?"))
混合使用“{序號}”,“{鍵}”形式的格式說明符
print("Hi,{0}.{ms}".format("JYHZZ",ms="How are you?"))
輸出的格式控制:
序號和鍵后面可以跟一個冒號:和格式說明符,這就允許對輸出項進行更好的格式化。
例如,{0:8}表示format()中的第一個參數占8個字符寬度,如果輸出位數大于該寬度,就按實際位數輸出;如果輸出位數小于這個寬度,默認右對齊,左邊補空格,補足8位。
{1:.3}表示第二個輸出項除小數點外的輸出位數是3位。
{1:.3}表示保留小數點后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))#用十六進制形式輸出
總結
到此這篇關于Python數據的標準輸出與格式化輸出的文章就介紹到這了,更多相關Python數據輸出內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用 Python ElementTree 生成 xml的實例
這篇文章主要介紹了利用 Python ElementTree 生成 xml的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

