Funkcija str () vrne različico niza danega predmeta.
Sintaksa str()
je:
str (objekt, kodiranje = 'utf-8', napake = 'strogo')
str () Parametri
str()
Postopek traja tri parametre:
- objekt -
object
čigar nizno predstavitev je treba vrniti. Če ni na voljo, vrne prazen niz - kodiranje - kodiranje danega predmeta. Privzete vrednosti UTF-8, če niso na voljo.
- napake - odziv pri dekodiranju ne uspe. Privzete vrednosti
'strict'
.
Obstaja šest vrst errors
:
- strog - privzeti odgovor, ki sproži
UnicodeDecodeError
izjemo ob okvari - ignore - ignorira nekodirajočo Unicode iz rezultata
- replace - nadomesti nekodirano Unicode na vprašaj
- xmlcharrefreplace - vstavi sklic na znak XML namesto nekodirane Unicode
- backslashreplace - vstavi
uNNNN
zaporedje espace namesto nekodirane Unicode - namereplace - vstavi
N(… )
ubežno zaporedje namesto nekodirane Unicode
Vrnjena vrednost iz str ()
str()
Metoda vrne niz, ki velja za neformalno ali lepo natisniti predstavitev določenega predmeta.
Primer 1: Pretvori v niz
Če parameter kodiranja in napak ni na voljo, str()
interno pokliče __str__()
metodo predmeta.
Če __str__()
metode ne najde , pokliče repr (obj).
result = str(10) print(result)
Izhod
10.
Opomba: Rezultatska spremenljivka bo vsebovala niz.
Preizkusite te ukaze tudi na konzoli Python.
>>> str ('Adam')
>>> str (b'Python! ')
Primer 2: Kako deluje str () pri bajtih?
Če encoding
in errors
je na voljo parametrov, prvi parameter, objekt , mora biti bajti-kot-objekta (bajti ali bytearray).
Če je objekt bajt ali bajtray , str()
interno pokliče bytes.decode(encoding, errors)
.
V nasprotnem primeru dobi bajtni objekt v medpomnilnik, preden pokliče decode()
metodo.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Izhod
pythn
Tu 'ö'
ASCII znaka ne more dekodirati. Zato bi moralo imeti napako. Vendar smo postavili errors ='ignore'
. Zato Python ignorira znak, ki ga ni mogoče dekodirati str()
.