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 -
object
vars 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
UnicodeDecodeError
undantag 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
uNNNN
espace-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 encoding
och errors
parametern 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()
.