[u'String']
es una representación de texto de una lista que contiene una cadena Unicode en Python 2.
Si ejecuta print(some_list)
, es equivalente a
print'[%s]' % ', '.join(map(repr, some_list))
, es decir, crear una representación de texto de un objeto Python con el tipo list
, repr()
se llama a la función para cada elemento.
No se debe confundir un objeto Python y su representación de texto - repr('a') != 'a'
e incluso la representación de texto de los difiere de representación de texto: repr(repr('a')) != repr('a')
.
repr(obj)
devuelve una cadena que contiene una representación imprimible de un objeto. Su propósito es ser una representación inequívoca de un objeto que pueda ser útil para la depuración, en un REPL. A menudo eval(repr(obj)) == obj
.
Para evitar llamadas repr()
, puede imprimir elementos de la lista directamente (si son todas cadenas Unicode), por ejemplo: print ",".join(some_list)
—imprime una lista separada por comas de las cadenas:String
No codifique una cadena Unicode en bytes utilizando una codificación de caracteres codificada, imprima Unicode directamente en su lugar. De lo contrario, el código puede fallar porque la codificación no puede representar todos los caracteres, por ejemplo, si intenta utilizar la 'ascii'
codificación con caracteres no ASCII. O el código produce silenciosamente mojibake (los datos corruptos se pasan más lejos en una tubería) si el entorno usa una codificación que es incompatible con la codificación codificada.