Python hex()

Pythonのhex()関数は整数を小文字の16進数文字列に変換するために使用され、接頭辞は「0x」です。また、hex()関数にオブジェクトを渡すこともできます。その場合、オブジェクトには整数を返す__index__()関数が定義されている必要があります。入力整数引数はバイナリ、8進数など、任意の基数である可能性があります。Pythonはそれらを16進数形式に変換する処理を自動的に行います。

Python hex()の例

いくつかの整数を16進数に変換する簡単な例を見てみましょう。

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

出力:

0xff
0x7
0x3f
0xff

オブジェクトを使用したPython hex()

カスタムクラスを作成し、__index__()関数を定義してhex()関数を使用できるようにしましょう。

class Data:
    id = 0

    def __index__(self):
        print('__index__ function called')
        return self.id


d = Data()
d.id = 100

print(hex(d))

出力:

__index__ function called
0x64

完全なPythonスクリプトや他のPythonの例は、弊社のGitHubリポジトリから確認できます。

参照:公式ドキュメント

Source:
https://www.digitalocean.com/community/tutorials/python-hex