A função str () retorna a versão da string do objeto fornecido.
A sintaxe de str()
é:
str (objeto, codificação = 'utf-8', erros = 'estrito')
str () Parâmetros
O str()
método leva três parâmetros:
- object - O
object
cuja representação de string deve ser retornada. Se não for fornecido, retorna a string vazia - codificação - codificação do objeto fornecido. Padrões de UTF-8 quando não fornecido.
- erros - Resposta quando a decodificação falha. O padrão é
'strict'
.
Existem seis tipos de errors
:
- estrito - resposta padrão que levanta uma
UnicodeDecodeError
exceção em caso de falha - ignore - ignora o Unicode não codificável do resultado
- substituir - substitui o Unicode não codificável por um ponto de interrogação
- xmlcharrefreplace - insere referência de caractere XML em vez de Unicode não codificável
- barra invertida - insere uma
uNNNN
sequência de espaço em vez de Unicode não codificável - namereplace - insere uma
N(… )
sequência de escape em vez de Unicode não codificável
Valor de retorno de str ()
O str()
método retorna uma string, que é considerada uma representação informal ou agradável para impressão do objeto fornecido.
Exemplo 1: converter em string
Se o parâmetro de codificação e erros não for fornecido, str()
chama internamente o __str__()
método de um objeto.
Se não conseguir encontrar o __str__()
método, ele chama repr (obj).
result = str(10) print(result)
Resultado
10
Observação: a variável de resultado conterá uma string.
Experimente também esses comandos no console Python.
>>> str ('Adam')
>>> str (b'Python! ')
Exemplo 2: Como str () funciona para bytes?
Se encoding
e errors
parâmetro é fornecido, o primeiro parâmetro, objeto , deve ser um bytes-like-objecto (bytes ou bytearray).
Se o objeto for bytes ou bytearray , str()
chama internamente bytes.decode(encoding, errors)
.
Caso contrário, ele obtém o objeto bytes no buffer antes de chamar o decode()
método.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Resultado
pythn
Aqui, o caractere 'ö'
não pode ser decodificado por ASCII. Portanto, deve apresentar um erro. No entanto, definimos o errors ='ignore'
. Portanto, Python ignora o caractere que não pode ser decodificado por str()
.