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