Python標准庫:內置函數format(value[, format_spec])


的值的函數valueformat_spec的格式來格式化,然而函數解釋format_spec是依據value的類型來決定的。不同的類型有不同的格式化解釋。

當參數format_spec為空時,本函數等同於函數str(value)的方式。

事實上本函數調用時,是把format(value, format_spec)的方式轉換為type(value).__format__(format_spec)方式來調用。因此在value類型里就查找方法__format__(),假設找不到此方法,就會返回異常TypeError

當中format_spec的編寫方式例如以下形式:

format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]

fill        ::=  <any character>

align       ::=  "<" | ">" | "=" | "^"

sign        ::=  "+" | "-" | " "

width       ::=  integer

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 深圳

版權聲明:本文博客原創文章,博客,未經同意,不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM