将 int 格式化为带有 0x 前缀的大写十六进制字符串?
Format int as an uppercase hex string with 0x prefix?
我有一个整型变量:
>>> a = id("string")
并且我想将 a
格式化为带有前缀 0x
的大写十六进制字符串。执行此操作的最佳方法是什么?
这些是一些不正确的输出:
>>> f"{a:#x}"
'0x115afcae8'
>>> f"{a:#X}"
'0X115AFCAE8'
>>> f"{a:X}"
'115AFCAE8'
我可以通过在最后一个前面加上0x
得到正确的输出:
>>> f"0x{a:X}"
'0x115AFCAE8'
但这真的是最干净的方式吗?奇怪的是我无法找到一种方法来仅使用极其庞大的 string formatting mini-language.
好像真的是
>>> f"0x{a:X}"
'0x115AFCAE8'
是执行此操作的最佳方法,因为仅使用字符串格式无法做到这一点。
我有一个整型变量:
>>> a = id("string")
并且我想将 a
格式化为带有前缀 0x
的大写十六进制字符串。执行此操作的最佳方法是什么?
这些是一些不正确的输出:
>>> f"{a:#x}"
'0x115afcae8'
>>> f"{a:#X}"
'0X115AFCAE8'
>>> f"{a:X}"
'115AFCAE8'
我可以通过在最后一个前面加上0x
得到正确的输出:
>>> f"0x{a:X}"
'0x115AFCAE8'
但这真的是最干净的方式吗?奇怪的是我无法找到一种方法来仅使用极其庞大的 string formatting mini-language.
好像真的是
>>> f"0x{a:X}"
'0x115AFCAE8'
是执行此操作的最佳方法,因为仅使用字符串格式无法做到这一点。