python 如何将一个int格式化为带有0x前缀的大写十六进制字符串?

aelbi1ox  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(121)

我有一个整型变量:

>>> a = id("string")

我想把a化成一个大写的十六进制字符串,前缀是0x,最好的方法是什么?
以下是一些不正确的输出:

>>> f"{a:#x}"
'0x115afcae8'

>>> f"{a:#X}"
'0X115AFCAE8'

>>> f"{a:X}"
'115AFCAE8'

我 * 可以 * 通过将0x前置到最后一个字符串来获得正确的输出:

>>> f"0x{a:X}"
'0x115AFCAE8'

但这真的是最干净的方法吗?奇怪的是,我找不到一种方法来处理这个极其庞大的字符串格式化迷你语言。

hmae6n7t

hmae6n7t1#

似乎真的是

>>> f"0x{a:X}"
'0x115AFCAE8'

是实现此目的的最佳方法,因为仅使用字符串格式无法实现此目的。

相关问题