Форматировать int как шестнадцатеричную строку в верхнем регистре с префиксом 0x? - PullRequest
1 голос
/ 08 января 2020

У меня целочисленная переменная:

>>> a = id("string")

, и я хочу отформатировать a в шестнадцатеричную строку в верхнем регистре с префиксом 0x. Какой лучший способ сделать это?

Вот некоторые неправильные выходные данные:

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

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

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

I может получить правильный вывод, просто добавив 0x к последнему из них:

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

но действительно ли это самый чистый путь? Кажется странным, что я не смог найти способ сделать это с помощью чрезвычайно обширного мини-языка форматирования строк .

1 Ответ

0 голосов
/ 14 января 2020

На самом деле, кажется, что

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

- лучший способ сделать это, так как это невозможно сделать только с помощью строкового форматирования.

...