Python str ()

La funzione str () restituisce la versione stringa dell'oggetto specificato.

La sintassi di str()è:

 str (oggetto, codifica = 'utf-8', errori = 'rigoroso')

str () Parametri

Il str() metodo accetta tre parametri:

  • oggetto - La objectcui rappresentazione di stringa deve essere restituita. Se non fornito, restituisce la stringa vuota
  • encoding - Codifica dell'oggetto dato. Valori predefiniti di UTF-8 quando non forniti.
  • errori - Risposta quando la decodifica fallisce. Il valore predefinito è 'strict'.

Esistono sei tipi di errors:

  • rigoroso - risposta predefinita che solleva UnicodeDecodeErrorun'eccezione in caso di errore
  • ignora : ignora l'Unicode non codificabile dal risultato
  • sostituisci : sostituisce Unicode non codificabile con un punto interrogativo
  • xmlcharrefreplace : inserisce un riferimento a caratteri XML invece di Unicode non codificabile
  • backslashreplace - inserisce una uNNNNsequenza espace invece di Unicode non codificabile
  • namereplace - inserisce una N(… )sequenza di escape invece di Unicode non codificabile

Valore restituito da str ()

Il str()metodo restituisce una stringa, che è considerata una rappresentazione informale o ben stampabile dell'oggetto dato.

Esempio 1: converti in stringa

Se non viene fornito il parametro encoding and errors , str()chiama internamente il __str__()metodo di un oggetto.

Se non riesce a trovare il __str__()metodo, chiama invece repr (obj).

 result = str(10) print(result)

Produzione

 10 

Nota: la variabile del risultato conterrà una stringa.

Prova anche questi comandi sulla console Python.

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

Esempio 2: come funziona str () per i byte?

Se viene fornito encodinge errorsparametro, il primo parametro, oggetto , dovrebbe essere un oggetto simile a byte (byte o bytearray).

Se l'oggetto è byte o bytearray , str()chiama internamente bytes.decode(encoding, errors).

In caso contrario, ottiene l'oggetto byte nel buffer prima di chiamare il decode()metodo.

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

Produzione

 pitone 

Qui, il carattere 'ö'non può essere decodificato da ASCII. Quindi, dovrebbe dare un errore. Tuttavia, abbiamo impostato l'estensione errors ='ignore'. Quindi, Python ignora il carattere che non può essere decodificato str().

Articoli interessanti...