Funktionen str () returnerer strengversionen af det givne objekt.
Syntaksen for str()
er:
str (objekt, kodning = 'utf-8', fejl = 'streng')
str () Parametre
Den str()
metode tager tre parametre:
- objekt -
object
hvis strengrepræsentation skal returneres. Hvis ikke angivet, returneres den tomme streng - kodning - Kodning af det givne objekt. Standardindstillinger for UTF-8, når de ikke leveres.
- fejl - Svar, når dekodning mislykkes. Som standard er
'strict'
.
Der er seks typer af errors
:
- streng - standardrespons, hvilket giver en
UnicodeDecodeError
undtagelse ved fejl - ignorere - ignorerer den ukodelige Unicode fra resultatet
- erstatte - erstatter den ukodelige Unicode til et spørgsmålstegn
- xmlcharrefreplace - indsætter XML-tegnreference i stedet for unicode Unicode
- backslashreplace - indsætter en
uNNNN
espace-sekvens i stedet for unicode Unicode - namereplace - indsætter en
N(… )
flugtsekvens i stedet for unicode, der ikke kan kodes
Returneringsværdi fra str ()
Den str()
metode returnerer en streng, der betragtes som en uformelt eller pænt printbare repræsentation af den givne objekt.
Eksempel 1: Konverter til streng
Hvis parameter for kodning og fejl ikke er angivet, str()
kalder __str__()
metoden til et objekt internt .
Hvis den ikke kan finde __str__()
metoden, kalder den i stedet repr (obj).
result = str(10) print(result)
Produktion
10
Bemærk: Resultatvariablen indeholder en streng.
Prøv også disse kommandoer på Python-konsollen.
>>> str ('Adam')
>>> str (b'Python! ')
Eksempel 2: Hvordan str () fungerer for bytes?
Hvis encoding
og errors
parameter er angivet, skal den første parameter, objekt , være et bytes-lignende-objekt (bytes eller bytearray).
Hvis objektet er byte eller bytearray , str()
kalder det internt bytes.decode(encoding, errors)
.
Ellers får det byteobjektet i bufferen, før decode()
metoden kaldes .
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Produktion
pythn
Her kan tegnet 'ö'
ikke dekodes af ASCII. Derfor skal det give en fejl. Vi har dog indstillet errors ='ignore'
. Derfor ignorerer Python det tegn, som ikke kan dekodes af str()
.