Функция hex() в Python — что делает и примеры преобразования
В этом уроке вы узнаете, как использовать функцию 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