Python中十六进制转换的整数

时间:2015-02-21 20:20:43

标签: python int hex

a = 1
print hex(a)

上面给出了输出:0x1

如何将输出改为0x01

6 个答案:

答案 0 :(得分:11)

您可以使用format

>>> a = 1
>>> '{0:02x}'.format(a)
'01'
>>> '0x{0:02x}'.format(a)
'0x01'

答案 1 :(得分:3)

>>> format(1, '#04x') 
'0x01'

答案 2 :(得分:2)

print "0x%02x"%a

x格式表示“打印为十六进制” 02表示“将零填充为两个字符”

答案 3 :(得分:2)

尝试:

print "0x%02x" % a

它有点毛茸茸,所以让我分解它:

字面上印有前两个字符“0x”。 Python只是逐字地吐出它们。

%告诉python格式化序列如下。 0告诉格式化程序它应该用零填充任何前导空格,并且2告诉它使用至少两列来完成它。 x是格式化序列的结尾,表示类型 - 十六进制。

如果你想打印“0x00001”,你会使用“0x%05x”等。

答案 4 :(得分:1)

您可以使用format

>>> "0x"+format(1, "02x")
'0x01'

答案 5 :(得分:0)

这是适用于Python 3.6+的f字符串变体:

a = 1
print(f"{a:0>2x}")

字符串格式的说明:

  • ::格式说明符
  • 0:填充(带有0
  • >:字段右对齐
  • 2:宽度
  • xhex类型

来源:6.1.3.1 Format Specification Mini-Language