В этом уроке вы узнаете, как использовать функцию Python hex() для преобразования целого числа в шестнадцатеричную строку с префиксом 0x.
Что такое функция Python hex()?
Функция hex() принимает целое число и преобразует его в строчную шестнадцатеричную строку с префиксом 0x.
Вот синтаксис функции hex():
hex(x)
В следующем примере функция hex() используется для преобразования x из целого числа(10) в строчную шестнадцатеричную строку с префиксом 0x:
x = 10 result = hex(10) print(result) # 👉 0xa print(type(result)) # 👉 <class 'str'>
Если x не является целым числом, то должен быть __index__(), который возвращает целое число. Например:
class MyClass:
def __init__(self, value):
self.value = value
def __index__(self):
return self.value
result = hex(MyClass(10))
print(result) # 👉 0xa
Выход:
0xa
Как это работает.
- Сначала определите класс MyClass с атрибутом value.
- Во-вторых, инициализируйте значение в методе __init__().
- В-третьих, реализуйте метод __index__(), который возвращает значение.
- Наконец, создайте новый экземпляр MyClass и передайте его функции hex().
Другой способ преобразования целого числа в заглавную или строчную шестнадцатеричную строку — использовать f-строки с форматом. Например:
a = 10
h1 = f'{a:#x}'
print(h1) # 👉 0xa
h2 = f'{a:x}'
print(h2) # 👉 a
h3 = f'{a:#X}'
print(h3) # 👉 0XA
h3 = f'{a:X}'
print(h3) # 👉 A
