[u'String']
ist eine Textdarstellung einer Liste, die eine Unicode-Zeichenfolge in Python 2 enthält.
Wenn Sie ausführen print(some_list)
, entspricht dies,
print'[%s]' % ', '.join(map(repr, some_list))
dh, um eine Textdarstellung eines Python-Objekts mit dem Typ zu erstellen list
, repr()
wird für jedes Element eine Funktion aufgerufen.
Verwechseln Sie ein Python-Objekt und seine Textdarstellung nicht - repr('a') != 'a'
und selbst die Textdarstellung der Textdarstellung unterscheidet sich : repr(repr('a')) != repr('a')
.
repr(obj)
Gibt eine Zeichenfolge zurück, die eine druckbare Darstellung eines Objekts enthält. Sein Zweck ist es, eine eindeutige Darstellung eines Objekts zu sein, das zum Debuggen in einer REPL nützlich sein kann. Oft eval(repr(obj)) == obj
.
Um einen Anruf zu vermeiden, repr()
können Sie Listenelemente direkt drucken (wenn es sich ausschließlich um Unicode-Zeichenfolgen handelt). Beispiel: print ",".join(some_list)
- Es wird eine durch Kommas getrennte Liste der Zeichenfolgen gedruckt:String
Codieren Sie eine Unicode-Zeichenfolge nicht mit einer fest codierten Zeichencodierung in Bytes, sondern drucken Sie stattdessen Unicode direkt . Andernfalls kann der Code fehlschlagen, da die Codierung nicht alle Zeichen darstellen kann, z. B. wenn Sie versuchen, die 'ascii'
Codierung mit Nicht-ASCII-Zeichen zu verwenden. Oder der Code erzeugt stillschweigend Mojibake (beschädigte Daten werden in einer Pipeline weitergeleitet), wenn die Umgebung eine Codierung verwendet, die mit der fest codierten Codierung nicht kompatibel ist.