Funkcija str () atgriež dotā objekta virknes versiju.
Sintakse str()
ir:
str (objekts, kodējums = 'utf-8', kļūdas = 'stingrs')
str () Parametri
str()
Metode ir trīs parametri:
- objekts -
object
kura virknes attēlojums ir jāatgriež. Ja tas nav norādīts, atgriež tukšo virkni - kodēšana - dotā objekta kodēšana. UTF-8 noklusējumi, ja tas nav norādīts.
- kļūdas - atbilde, kad dekodēšana neizdodas. Pēc noklusējuma
'strict'
.
Ir seši veidi errors
:
- stingra - noklusējuma atbilde, kas rada
UnicodeDecodeError
izņēmumu no kļūmes - ignorēt - rezultāts ignorē nekodējamo Unicode
- aizstāt - aizstāj nekodējamo Unicode uz jautājuma zīmi
- xmlcharrefreplace - kodējamā Unicode vietā ievieto XML rakstzīmju atsauci
- backslashreplace - ievieto
uNNNN
espace secību nekodējama Unicode vietā - namereplace - ievieto
N(… )
evakuācijas secību nekodējama Unicode vietā
Atgriezeniskā vērtība no str ()
str()
Metode atgriež virkni, kas tiek uzskatīts par neoficiālu vai labi drukāšanai pārstāvību konkrētā objekta.
1. piemērs: konvertēšana uz virkni
Ja kodējums un kļūdas parametrs nav norādīts, str()
iekšēji izsauc objekta __str__()
metodi.
Ja tā nevar atrast __str__()
metodi, tā vietā izsauc repr (obj).
result = str(10) print(result)
Rezultāts
10
Piezīme: Rezultāta mainīgajā būs virkne.
Izmēģiniet arī šīs komandas Python konsolē.
>>> str ('Ādams')
>>> str (b'Python! ')
2. piemērs: Kā str () darbojas baitiem?
Ja encoding
un errors
parametrs ir norādīts, pirmajam parametram, objektam , vajadzētu būt līdzīgiem objektiem , kas ir līdzīgi baitiem (baiti vai baitu zīmējumi).
Ja objekts ir baiti vai bytearray , str()
iekšēji zvana bytes.decode(encoding, errors)
.
Pretējā gadījumā pirms decode()
metodes izsaukšanas tas iegūst baitu objektu buferī .
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Rezultāts
pīts
Šeit rakstzīmi 'ö'
nevar dekodēt ar ASCII. Tādējādi tam vajadzētu būt kļūdai. Tomēr mēs esam iestatījuši errors ='ignore'
. Tādējādi Python ignorē rakstzīmi, kuru nevar dekodēt str()
.