Funkcija str () vraća verziju niza datog objekta.
Sintaksa str()
je:
str (objekt, kodiranje = 'utf-8', pogreške = 'strogo')
str () Parametri
str()
Metoda uzima tri parametra:
- objekt -
object
čiji se nizni prikaz treba vratiti. Ako nije navedeno, vraća prazan niz - kodiranje - kodiranje datog objekta. Zadane vrijednosti UTF-8 kada nisu navedene.
- pogreške - odgovor kada dekodiranje ne uspije. Zadane vrijednosti
'strict'
.
Postoji šest vrsta errors
:
- strog - zadani odgovor koji dovodi do
UnicodeDecodeError
iznimke u slučaju neuspjeha - ignore - ignorira nekodirajući Unicode iz rezultata
- replace - zamjenjuje nekodirajući Unicode znakom pitanja
- xmlcharrefreplace - ubacuje referencu XML znaka umjesto nekodirajućeg Unicodea
- backslashreplace - umeće
uNNNN
espace slijed umjesto uncodible Unicode - namereplace - ubacuje
N(… )
sekvencu za bijeg umjesto nekodirajućeg Unicodea
Vrati vrijednost iz str ()
str()
Metoda vraća niz, što se smatra neformalna ili lijepo ispis prikaz određenog objekta.
Primjer 1: Pretvori u niz
Ako parametar kodiranja i pogreške nije osiguran, str()
interno poziva __str__()
metodu objekta.
Ako ne može pronaći __str__()
metodu, umjesto toga poziva repr (obj).
result = str(10) print(result)
Izlaz
10
Napomena: Rezultatska varijabla sadržavat će niz.
Isprobajte i ove naredbe na Python konzoli.
>>> str ('Adam')
>>> str (b'Python! ')
Primjer 2: Kako str () radi za bajtove?
Ako je encoding
i errors
parametar naveden , prvi parametar, objekt , trebao bi biti objekt sličan bajtovima (bajtovi ili bajtray).
Ako je objekt byte ili bytearray , str()
interno poziva bytes.decode(encoding, errors)
.
Inače, dobiva objekt bytes u međuspremnik prije pozivanja decode()
metode.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Izlaz
pythn
Ovdje 'ö'
ASCII ne može dekodirati znak . Stoga bi trebao dati pogrešku. Međutim, postavili smo errors ='ignore'
. Dakle, Python zanemaruje lik koji se ne može dekodirati str()
.