Die Funktion str () gibt die Zeichenfolgenversion des angegebenen Objekts zurück.
Die Syntax von str()
lautet:
str (Objekt, Kodierung = 'utf-8', Fehler = 'streng')
str () Parameter
Die str()
Methode akzeptiert drei Parameter:
- Objekt - Die,
object
deren Zeichenfolgendarstellung zurückgegeben werden soll. Wenn nicht angegeben, wird die leere Zeichenfolge zurückgegeben - Kodierung - Kodierung des angegebenen Objekts. Standardeinstellungen von UTF-8, wenn nicht angegeben.
- Fehler - Antwort, wenn die Dekodierung fehlschlägt. Der Standardwert ist
'strict'
.
Es gibt sechs Arten von errors
:
- strict - Standardantwort, die bei einem
UnicodeDecodeError
Fehler eine Ausnahme auslöst - ignorieren - ignoriert den nicht codierbaren Unicode aus dem Ergebnis
- Ersetzen - Ersetzt den nicht codierbaren Unicode durch ein Fragezeichen
- xmlcharrefreplace - Fügt eine XML-Zeichenreferenz anstelle eines nicht codierbaren Unicodes ein
- backslashreplace - fügt eine
uNNNN
Espace-Sequenz anstelle von nicht codierbarem Unicode ein - namereplace - fügt eine
N(… )
Escape-Sequenz anstelle von nicht codierbarem Unicode ein
Rückgabewert von str ()
Die str()
Methode gibt eine Zeichenfolge zurück, die als informelle oder gut druckbare Darstellung des angegebenen Objekts betrachtet wird.
Beispiel 1: In String konvertieren
Wenn der Codierungs- und Fehlerparameter nicht angegeben ist, wird str()
die __str__()
Methode eines Objekts intern aufgerufen .
Wenn die __str__()
Methode nicht gefunden werden kann, wird stattdessen repr (obj) aufgerufen.
result = str(10) print(result)
Ausgabe
10
Hinweis: Die Ergebnisvariable enthält eine Zeichenfolge.
Probieren Sie diese Befehle auch in der Python-Konsole aus.
>>> str ('Adam')
>>> str (b'Python! ')
Beispiel 2: Wie funktioniert str () für Bytes?
Wenn encoding
und errors
Parameter angegeben werden, sollte der erste Parameter, Objekt , ein byteähnliches Objekt sein (Bytes oder Bytearray).
Wenn das Objekt Bytes oder Bytearray ist , wird str()
intern aufgerufenbytes.decode(encoding, errors)
.
Andernfalls wird das Byte-Objekt vor dem Aufruf der decode()
Methode im Puffer abgerufen .
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Ausgabe
Python
Hier kann das Zeichen 'ö'
nicht durch ASCII dekodiert werden. Daher sollte es einen Fehler geben. Wir haben jedoch die festgelegt errors ='ignore'
. Daher ignoriert Python das Zeichen, das nicht dekodiert werden kann str()
.