Str () -funksjonen returnerer strengversjonen av det gitte objektet.
Syntaksen for str()
er:
str (objekt, koding = 'utf-8', feil = 'streng')
str () Parametere
Den str()
metode tar tre parametere:
- objekt -
object
hvis strengrepresentasjon skal returneres. Hvis ikke gitt, returnerer den tomme strengen - koding - Koding av det gitte objektet. Standardverdier for UTF-8 når de ikke er oppgitt.
- feil - Svar når dekoding mislykkes. Standardinnstillingen er
'strict'
.
Det er seks typer errors
:
- streng - standardrespons som gir
UnicodeDecodeError
unntak ved feil - ignorere - ignorerer den ukodbare Unicode fra resultatet
- erstatte - erstatter den ukodbare Unicode til et spørsmålstegn
- xmlcharrefreplace - setter inn XML-tegnreferanse i stedet for ukodbar Unicode
- backslashreplace - setter inn en
uNNNN
espace-sekvens i stedet for unicode Unicode - namereplace - setter inn en
N(… )
rømningssekvens i stedet for unicode Unicode
Returverdi fra str ()
Den str()
metoden returnerer en streng, som er ansett som en uformell eller pent trykkbar representasjon av det gitte objektet.
Eksempel 1: Konverter til streng
Hvis koding og feilparameter ikke er gitt, str()
kaller __str__()
metoden til et objekt internt .
Hvis den ikke finner __str__()
metoden, kaller den i stedet repr (obj).
result = str(10) print(result)
Produksjon
10
Merk: Resultatvariabelen vil inneholde en streng.
Prøv også disse kommandoene på Python-konsollen.
>>> str ('Adam')
>>> str (b'Python! ')
Eksempel 2: Hvordan str () fungerer for byte?
Hvis encoding
og errors
parameter er gitt, bør den første parameteren, objektet , være et byte-lignende objekt (byte eller bytearray).
Hvis objektet er byte eller bytearray , kalles detstr()
internt bytes.decode(encoding, errors)
.
Ellers får den byteobjektet i bufferen før du kaller decode()
metoden.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Produksjon
pythn
Her 'ö'
kan ikke tegnet dekodes av ASCII. Derfor bør det gi en feil. Imidlertid har vi satt errors ='ignore'
. Derfor ignorerer Python tegnet som ikke kan dekodes av str()
.