La función hex() de Python se utiliza para convertir un entero en una cadena hexadecimal en minúsculas con el prefijo “0x”. También podemos pasar un objeto a la función hex(), en ese caso, el objeto debe tener la función __index__()
definida, que devuelve un entero. El argumento entero de entrada puede estar en cualquier base, como binaria, octal, etc. Python se encargará de convertirlos al formato hexadecimal.
Ejemplo de hex() en Python
Veamos algunos ejemplos simples de cómo convertir un entero a número hexadecimal.
print(hex(255)) # decimal
print(hex(0b111)) # binary
print(hex(0o77)) # octal
print(hex(0XFF)) # hexadecimal
Salida:
0xff
0x7
0x3f
0xff
hex() en Python con un objeto
Creemos una clase personalizada y definamos la función __index__() para que podamos usar la función hex() con ella.
class Data:
id = 0
def __index__(self):
print('__index__ function called')
return self.id
d = Data()
d.id = 100
print(hex(d))
Salida:
__index__ function called
0x64
Puedes consultar el script completo de Python y más ejemplos en Python en nuestro Repositorio de GitHub.
Referencia: Documentación Oficial
Source:
https://www.digitalocean.com/community/tutorials/python-hex