Рубрики
Без рубрики

Как использовать функцию Python hex()?

В этой статье мы рассмотрим функцию Python hex().

В данной статье мы рассмотрим функцию Python hex().

Эта функция полезна, если вы хотите преобразовать целое число в шестнадцатеричную строку с префиксом “0x”.

Давайте разберемся, как можно использовать эту функцию.

Использование функции Python hex()

Функция Python hex() имеет очень простой синтаксис:

hex_string = hex(val)

Здесь val может быть целым, двоичным, восьмеричным или шестнадцатеричным числом.

Давайте быстро рассмотрим несколько примеров.

print(hex(1000))  # decimal
print(hex(0b111))  # binary
print(hex(0o77))  # octal
print(hex(0XFF))  # hexadecimal

Выход

0x3e8
0x7
0x3f
0xff

Использование функции Python hex() на пользовательском объекте

Мы также можем использовать hex() на пользовательском объекте. Но если мы хотим использовать его успешно, мы должны определить метод __index__() для нашего класса.

Метод hex() будет вызывать __index__(), поэтому мы должны реализовать его. Он должен возвращать значение, которое может быть десятичным / двоичным / восьмеричным / шестнадцатеричным числом.

class MyClass:
    def __init__(self, value):
        self.value = value
    def __index__(self):
        print('__index__() dunder method called')
        return self.value


my_obj = MyClass(255)

print(hex(my_obj))

Выход

__index__() dunder method called
0xff

и действительно, как вы можете видеть, она возвращает то, что мы ожидали.

Сначала hex() вызывает метод __index__() нашего пользовательского класса.

Затем она преобразует возвращаемое значение в шестнадцатеричную строку (255 -> “0xff”).

Заключение

В этой статье мы узнали об использовании функции hex() для преобразования числовых значений в шестнадцатеричную строку.

Оригинал: “https://www.askpython.com/python/built-in-methods/python-hex-function”