2013/4/12 Diego Uribe Gamez <diego.uribe.ga...@gmail.com>:
> una ultima pregunta, como mantengo el formato como es y sin que codifique la
> cadena hexadecimal?
>
>>>> '\x61\x74'
> 'at'
>
> si no que deje el strin como estaba, sin que lo pase a at:
>
>>>> '\x61\x74'
> '\x61\x74' ??????????????????
>

Internamente son exactamente lo mismo. Lo que sale en la consola es
simplemente la manera en que repr muestra la cadena. Si quieres que
repr te muestre la representación hexadecimal de los caracteres
tendrías que subclasear str:

>>> class mystr(str):
...     def __repr__(self):
...             return "\\" + "\\".join(hex(ord(i)) for i in str(self))
...
>>> a= foo("at")
>>> a
\0x61\0x74


Pero esto es más problemático ya que cosas como a.lower() te
devolverían un str y no tu clase. ¿Qué es lo que quieres contener en
tu variable exactamente? una cadena con un slash, una 'x', un 6, etc;
o una cadena con una 'a' y una 't'?

Saludos
--
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a