La funzione hex() di Python viene utilizzata per convertire un intero in una stringa esadecimale minuscola preceduta da “0x”. Possiamo anche passare un oggetto alla funzione hex(), in tal caso l’oggetto deve avere la funzione __index__()
definita che restituisce un intero. L’argomento intero di input può essere in qualsiasi base, come binaria, ottale, ecc. Python si occupa di convertirli nel formato esadecimale.
Esempio di hex() in Python
Esaminiamo alcuni esempi semplici di conversione di un intero in numero esadecimale.
print(hex(255)) # decimal
print(hex(0b111)) # binary
print(hex(0o77)) # octal
print(hex(0XFF)) # hexadecimal
Output:
0xff
0x7
0x3f
0xff
hex() di Python con un oggetto
Creiamo una classe personalizzata e definiamo la funzione __index__() in modo che possiamo utilizzare la funzione hex() con essa.
class Data:
id = 0
def __index__(self):
print('__index__ function called')
return self.id
d = Data()
d.id = 100
print(hex(d))
Output:
__index__ function called
0x64
Puoi consultare lo script completo di Python e altri esempi di Python nel nostro Repository GitHub.
Riferimento: Documentazione Ufficiale
Source:
https://www.digitalocean.com/community/tutorials/python-hex