a = 1
print hex(a)
上面给出了输出:0x1
如何将输出改为0x01
?
答案 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
:宽度x
:hex
类型