Funcția str () returnează versiunea șir a obiectului dat.
Sintaxa lui str()
este:
str (obiect, codificare = 'utf-8', erori = 'strict')
str () Parametri
str()
Metoda are trei parametri:
- obiect - a
object
cărui reprezentare șir trebuie returnată. Dacă nu este furnizat, returnează șirul gol - codificare - Codificarea obiectului dat. Valori implicite ale UTF-8 atunci când nu sunt furnizate.
- erori - Răspunsul la decodare eșuează. Implicit la
'strict'
.
Există șase tipuri de errors
:
- strict - răspuns implicit care creează o
UnicodeDecodeError
excepție la eșec - ignora - ignoră Unicode necodificabil din rezultat
- înlocuire - înlocuiește Unicode necodificabil cu un semn de întrebare
- xmlcharrefreplace - inserează referința caracterelor XML în loc de Unicode necodificabil
- backslashreplace - inserează o
uNNNN
secvență spațială în loc de Unicode necodificabil - namereplace - inserează o
N(… )
secvență de evadare în loc de Unicode necodificabil
Returnează valoarea din str ()
str()
Metoda returnează un șir de caractere, care este considerată o reprezentare informală sau frumos imprimabilă a obiectului dat.
Exemplul 1: convertiți în șir
Dacă parametrul de codificare și erori nu este furnizat, str()
apelează intern __str__()
metoda unui obiect.
Dacă nu găsește __str__()
metoda, apelează în schimb repr (obj).
result = str(10) print(result)
Ieșire
10
Notă: Variabila rezultat va conține un șir.
Încercați și aceste comenzi pe consola Python.
>>> str („Adam”)
>>> str (b'Python! ')
Exemplul 2: Cum funcționează str () pentru octeți?
Dacă encoding
și errors
parametrul este furnizat, primul parametru, obiectul , ar trebui să fie un obiect asemănător octeților (octeți sau bytearray).
Dacă obiectul este octet sau bytearray , str()
apeluri interne bytes.decode(encoding, errors)
.
În caz contrar, primește obiectul de octeți în buffer înainte de a apela decode()
metoda.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Ieșire
pythn
Aici, personajul 'ö'
nu poate fi decodat de ASCII. Prin urmare, ar trebui să dea o eroare. Cu toate acestea, am stabilit errors ='ignore'
. Prin urmare, Python ignoră caracterul care nu poate fi decodat de str()
.