打印十六进制值时,如何让Python使用大写字母?


问题内容

在Python v2.6中,我可以通过以下两种方式之一为整数获取十六进制:

print(("0x%x")%value)
print(hex(value))

但是,在两种情况下,十六进制数字都是小写。如何获得大写字母?


问题答案:

大写X(使用sprintf样式格式的Python 2和3 ):

print("0x%X" % value)

或在python
3+中(使用.format字符串语法):

print("0x{:X}".format(value))

或在python
3.6+中(使用格式化的字符串文字):

print(f"0x{value:X}")