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() 関数

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

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

私たちのGitHubリポジトリから、完全なPythonスクリプトと他の多くのPythonの例をチェックアウトできます。

参照: 公式ドキュメント

コメントを残す 0

Your email address will not be published. Required fields are marked *