Python str ()

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 - objectkura 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 UnicodeDecodeErrorizņē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 uNNNNespace 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 encodingun errorsparametrs 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().

Interesanti raksti...