Conversión de entero a hexadecimal en Python

a = 1 print hex(a) 

Lo anterior me da la salida: 0x1

¿Cómo obtengo la salida como 0x01 lugar?

Puedes usar el format :

 >>> a = 1 >>> '{0:02x}'.format(a) '01' >>> '0x{0:02x}'.format(a) '0x01' 
 >>> format(1, '#04x') '0x01' 

Tratar:

 print "0x%02x" % a 

Es un poco peludo, así que déjame desglosarlo:

Los dos primeros caracteres, “0x” están impresos literalmente. Python simplemente los escupe verbalmente.

El% le dice a python que sigue una secuencia de formato. El 0 le dice al formateador que debe llenar cualquier espacio inicial con ceros y el 2 le dice que use al menos dos columnas para hacerlo. La x es el final de la secuencia de formato e indica el tipo – hexadecimal.

Si quisiera imprimir “0x00001”, usaría “0x% 05x”, etc.

 print "0x%02x"%a 

x como formato significa “imprimir como hexadecimal” .
02 significa “pad con ceros a dos caracteres” .

Puedes usar el formato :

 >>> "0x"+format(1, "02x") '0x01'