Python str ()

Funkce str () vrací řetězcovou verzi daného objektu.

Syntaxe str()je:

 str (object, encoding = 'utf-8', errors = 'strict')

str () Parametry

str() Metoda má tři parametry:

  • objekt - objectjehož řetězcová reprezentace má být vrácena. Pokud není zadán, vrátí prázdný řetězec
  • encoding - kódování daného objektu. Výchozí hodnoty UTF-8, pokud nejsou k dispozici.
  • errors - Response when decoding failed. Výchozí nastavení pro 'strict'.

Existuje šest typů errors:

  • strict - výchozí odpověď, která vyvolá UnicodeDecodeErrorvýjimku při selhání
  • ignore - ignoruje nezakódovatelný Unicode z výsledku
  • nahradit - nahradí nezakódovatelný Unicode na otazník
  • xmlcharrefreplace - vloží odkaz na znak XML namísto nekódovatelného Unicode
  • backslashreplace - vloží uNNNNespace sekvenci namísto unencodable Unicode
  • namereplace - vloží N(… )únikovou sekvenci namísto nekódovatelného Unicode

Vrátit hodnotu z str ()

str()Metoda vrací řetězec, který je považován za neformální nebo pěkně vytisknutí reprezentace daného objektu.

Příklad 1: Převést na řetězec

Pokud není zadán parametr kódování a chyby , str()interně volá __str__()metodu objektu.

Pokud nemůže najít __str__()metodu, volá místo toho repr (obj).

 result = str(10) print(result)

Výstup

 10 

Poznámka: Výsledná proměnná bude obsahovat řetězec.

Tyto příkazy také vyzkoušejte na konzole Pythonu.

 >>> str ('Adam')
 >>> str (b'Python! ')

Příklad 2: Jak str () funguje pro bajty?

Pokud encodinga errorsje zadán parametr, první parametr, objekt , by měl být objekt podobný bajtům (bajty nebo bytearray).

Pokud je objekt bajty nebo bytearray , str()interně volá bytes.decode(encoding, errors).

Jinak získá objekt bajtů ve vyrovnávací paměti před voláním decode()metody.

 # bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore')) 

Výstup

 pythn 

Zde nelze znak 'ö'dekódovat pomocí ASCII. Proto by to mělo dát chybu. Nastavili jsme však errors ='ignore'. Proto Python ignoruje znak, který nelze dekódovat str().

Zajímavé články...