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,
objectderen 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
UnicodeDecodeErrorFehler 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
uNNNNEspace-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 encodingund errorsParameter 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().








