【发布时间】:2020-07-06 18:40:24
【问题描述】:
python 中的内置函数 hex() 以 0xf 或 0x0 的形式返回给我一个数字,但我希望它们为 0x00。我找到了this on the python docs,但我真的不知道如何解释它。
谢谢
【问题讨论】:
python 中的内置函数 hex() 以 0xf 或 0x0 的形式返回给我一个数字,但我希望它们为 0x00。我找到了this on the python docs,但我真的不知道如何解释它。
谢谢
【问题讨论】:
在python3中,使用这种f字符串格式:
f"0x{variable:02x}"
为了最大限度地兼容python2/3,请使用.format():
"0x{:02x}".format(variable)
【讨论】:
您可以为此目的使用字符串格式:
>>> "0x{:02x}".format(13)
'0x0d'
这里有更详细的例子:
【讨论】:
方法如下:
print('0x'+hex(4)[2:].zfill(2))
输出:
'0x04'
分解:
hex(4),如您所知,将返回 '0x4'。 hex(4)[2:] 表示获取字符串中第二个之后的所有字符,所以会是'4'。
str.zfill() 方法将使用我们传递到括号中的指定数量的零填充字符串,因此 hex(4)[2:].zfill(2) 将是 '04'。
最后,将我们在开头切掉的前两个字符 ('0x') 放回字符串的开头。
【讨论】: