Python str ()

Funktionen str () returnerar strängversionen av det angivna objektet.

Syntaksen för str()är:

 str (objekt, kodning = 'utf-8', fel = 'strikt')

str () Parametrar

Den str() metod tar tre parametrar:

  • objekt - objectvars strängrepresentation ska returneras. Om den inte tillhandahålls, returnerar den tomma strängen
  • kodning - Kodning av det angivna objektet. Standardvärden för UTF-8 när de inte tillhandahålls.
  • fel - Svar när avkodningen misslyckas. Standardvärden är 'strict'.

Det finns sex typer av errors:

  • strikt - standardsvar som ger ett UnicodeDecodeErrorundantag vid fel
  • ignorera - ignorerar den okodningsbara Unicode från resultatet
  • ersätt - ersätter den okodningsbara Unicode till ett frågetecken
  • xmlcharrefreplace - infogar XML-teckenreferens istället för okodbar Unicode
  • backslashreplace - infogar en uNNNNespace-sekvens istället för okodbar Unicode
  • namereplace - infogar en N(… )escape-sekvens istället för unicodable Unicode

Returvärde från str ()

Den str()metod returnerar en sträng, som anses vara en informell eller fint tryckbar representation av det givna objektet.

Exempel 1: Konvertera till sträng

Om kodning och fel parametern inte tillhandahålls, str()anropar internt __str__()metod för ett objekt.

Om den inte kan hitta __str__()metoden kallar den istället repr (obj).

 result = str(10) print(result)

Produktion

 10 

Obs! Resultatvariabeln innehåller en sträng.

Prova också dessa kommandon på Python-konsolen.

 >>> str ('Adam')
 >>> str (b'Python! ')

Exempel 2: Hur str () fungerar för byte?

Om encodingoch errorsparametern tillhandahålls bör den första parametern, objektet , vara ett byte-liknande-objekt (byte eller bytearray).

Om objektet är byte eller bytearray , str()kallar det internt bytes.decode(encoding, errors).

I annat fall hämtar det byteobjektet i bufferten innan decode()metoden anropas.

 # bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore')) 

Produktion

 pythn 

Här kan karaktären 'ö'inte avkodas av ASCII. Därför bör det ge ett fel. Vi har dock ställt in errors ='ignore'. Därför ignorerar Python karaktären som inte kan avkodas av str().

Intressanta artiklar...