a = 1
print hex(a)
上面给了我输出:0x1
如何获取输出为0x01
?
您可以使用format
:
format
>>> a = 1
>>> '{0:02x}'.format(a)
'01'
>>> '0x{0:02x}'.format(a)
'0x01'
尝试:
>>> format(1, '#04x')
'0x01'
有点毛,所以让我分解一下:
前两个字符“ 0x”实际上是打印出来的。 Python只是逐字逐出它们。
%告诉python后面是格式化序列。0告诉格式化程序,它应该用零填充任何前导空格,而2告诉格式化程序,至少要使用两列。 x是格式化序列的结尾,并指示类型-十六进制。
如果要打印“ 0x00001”,请使用“ 0x%05x”,依此类推。
print "0x%02x" % a
print "0x%02x"%a
的格式表示“以十六进制打印”。x
表示“零到两个字符的填充板”。
您可以使用02
:
format
这里是适用于Python 3.6+的f字符串变体:
>>> "0x"+format(1, "02x")
'0x01'
字符串格式的说明:
a = 1
print(f"{a:0>2x}")
:格式说明符:
:填充0
:右对齐字段>
:宽度2
:x
类型来源:hex