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の例をチェックアウトできます。
参照: 公式ドキュメント