2014-09-29 75 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")