Python str ()

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().

Interessante Beiträge...