2014-09-29 67 views
0

我想打印十六進制的一些整數值。爲此我通常使用format()函數。假設我想在輸出格式中打印X代替0格式()幫助我做到這一點?python輸出格式化

>>> format(16,"04X") 
'0010' 

我需要什麼:

'XX10' 

回答

2

如果你讀了Format Specification Mini-Language,你會看到你正在使用的0是一種特殊情況:

前的寬度字段由零('0')字符啓用數字類型的符號感知零填充。這相當於填充字符的'0'對齊類型'='

這應該給你線索你需要用不同的填充字符做同樣的事情。但是爲了以防萬一,讓我們來看看它說什麼對於那些對準填寫領域:

如果指定一個有效對齊值,它可以通過一個前面填寫字符,可以可以是任何字符,如果省略,則默認爲空格。

格式字符串的語法是:

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

所以,告訴你在哪裏把填寫對齊值:

format(16, "X=4X")