的值的函數value按format_spec的格式來格式化,然而函數解釋format_spec是依據value的類型來決定的。不一樣的類型有不一樣的格式化解釋。python
當參數format_spec爲空時,本函數等同於函數str(value)的方式。函數
事實上本函數調用時,是把format(value, format_spec)的方式轉換爲type(value).__format__(format_spec)方式來調用。所以在value類型裏就查找方法__format__(),假設找不到此方法,就會返回異常TypeError。字體
當中format_spec的編寫方式例如如下形式:spa
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]code
fill ::= <any character>orm
align ::= "<" | ">" | "=" | "^"blog
sign ::= "+" | "-" | " "ip
width ::= integerci
precision ::= integer博客
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
fill是表示可以填寫不論什麼字符。
align是對齊方式,<是左對齊, >是右對齊。^是居中對齊。
sign是符號, +表示正號, -表示負號。
width是數字寬度,表示總共輸出多少位數字。
precision是小數保留位數。
type是輸出數字值是的表示方式,比方b是二進制表示;比方E是指數表示。比方X是十六進制表示。
樣例:
#format() print(format(2918)) print(format(0x500, 'X')) print(format(3.14, '0=10')) print(format(3.14159, '05.3')) print(format(3.14159, 'E')) print(format('test', '<20')) print(format('test', '>20')) print(format('test', '^20'))
結果輸出例如如下:
2918
500
0000003.14
03.14
3.141590E+00
test
test
test
蔡俊生 QQ:9073204 深圳