Python str ()

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

Interessante artikelen...