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








