De functie str () geeft de stringversie van het opgegeven object terug.
De syntaxis van str()is:
str (object, encoding = 'utf-8', errors = 'strict')
str () Parameters
De str() methode heeft drie parameters:
- object - De
objectwaarvan de tekenreeksweergave moet worden geretourneerd. Retourneert de lege tekenreeks als deze niet is opgegeven - encoding - Codering van het opgegeven object. Standaardwaarden van UTF-8 indien niet opgegeven.
- errors - Reactie wanneer decodering mislukt. Standaard ingesteld op
'strict'.
Er zijn zes soorten errors:
- strict - standaardantwoord dat een
UnicodeDecodeErroruitzondering oproept bij een fout - negeren - negeert de niet-codeerbare Unicode uit het resultaat
- vervangen - vervangt de niet-codeerbare Unicode door een vraagteken
- xmlcharrefreplace - voegt XML-tekenreferentie in in plaats van niet-codeerbare Unicode
- backslashreplace - voegt een
uNNNNespace-reeks in in plaats van niet-codeerbare Unicode - namereplace - voegt een
N(… )escape-reeks in in plaats van een niet-codeerbare Unicode
Retourwaarde van str ()
De str()methode retourneert een string, die wordt beschouwd als een informele of mooi afdrukbare weergave van het gegeven object.
Voorbeeld 1: converteren naar tekenreeks
Als de parameter codering en fouten niet is opgegeven, str()roept intern de __str__()methode van een object aan.
Als het de __str__()methode niet kan vinden , roept het in plaats daarvan repr (obj) aan.
result = str(10) print(result)
Uitvoer
10
Opmerking: de resultaatvariabele bevat een tekenreeks.
Probeer deze opdrachten ook op de Python-console.
>>> str ('Adam')
>>> str (b'Python! ')
Voorbeeld 2: Hoe werkt str () voor bytes?
Indien encodingen errorsparameter wordt verschaft, de eerste parameter, object , moet een byte-achtige object (bytes of ByteArray).
Als het object bytes of bytearray is , str()roept intern bytes.decode(encoding, errors).
Anders haalt het het bytes-object in de buffer op voordat de decode()methode wordt aangeroepen.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Uitvoer
pythn
Hier kan het teken 'ö'niet worden gedecodeerd door ASCII. Daarom zou het een fout moeten geven. We hebben echter de errors ='ignore'. Daarom negeert Python het teken dat niet kan worden gedecodeerd door str().








