Python str ()

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().

érdekes cikkek...