Az str () függvény az adott objektum karakterlánc-verzióját adja vissza.
A szintaxisa str():
str (objektum, kódolás = 'utf-8', hibák = 'szigorú')
str () Paraméterek
A str() módszer három paramétert vesz fel:
- object - Az a
objectkarakterlánc-ábrázolás, amelyet vissza kell adni Ha nincs megadva, akkor az üres karakterláncot adja vissza - kódolás - Az adott objektum kódolása. Az UTF-8 alapértelmezett beállításai, ha nincs megadva.
- hibák - Válasz, ha a dekódolás sikertelen. Alapértelmezés szerint
'strict'.
Hatféle típus létezik errors:
- szigorú - alapértelmezett válasz, amely
UnicodeDecodeErrorkivételt jelent a hiba esetén - figyelmen kívül hagyja - figyelmen kívül hagyja a kódolhatatlan Unicode-ot az eredményből
- csere - a kódolhatatlan Unicode kérdőjelre cseréli
- xmlcharrefreplace - XML karakter hivatkozást illeszt be a kódolhatatlan Unicode helyett
- backslashreplace -
uNNNNkódolatlan Unicode helyett beszúr egy espace szekvenciát - namereplace - egy
N(… )kódolási Unicode helyett egy menekülési szekvenciát illeszt be
Visszatérési érték str ()
A str()metódus egy karakterláncot ad vissza, amelyet az adott objektum informális vagy szépen nyomtatható ábrázolásának tekintenek.
1. példa: Konvertálás karakterláncra
Ha a kódolás és a hibák paraméter nem szerepel, akkor az objektum metódusát str()belsőleg hívja meg __str__().
Ha nem találja meg a __str__()módszert, akkor a repr (obj) parancsot hívja meg.
result = str(10) print(result)
Kimenet
10.
Megjegyzés: Az eredmény változó tartalmazni fog egy karakterláncot.
Próbálja ki ezeket a parancsokat a Python konzolon is.
>>> str ('Ádám')
>>> str (b'Python! ')
2. példa: Hogyan működik az str () bájtoknál?
Ha encodingés errorsparaméter meg van adva, akkor az első paraméternek, objektumnak bájtszerű objektumnak kell lennie (bájt vagy bájtrajz).
Ha az objektum bájt vagy bytearray , akkor str()belső hívások bytes.decode(encoding, errors).
Egyébként a bájt objektumot a pufferbe kapja, mielőtt meghívná a decode()metódust.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Kimenet
pythn
Itt a karaktert 'ö'nem tudja dekódolni az ASCII. Ezért hibát kell adnia. Azonban beállítottuk a errors ='ignore'. Ezért a Python figyelmen kívül hagyja a karaktert, amelyet nem lehet dekódolni str().








