Python str ()

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 objectcuja 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 UnicodeDecodeErrorexceçã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 uNNNNsequê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 encodinge errorsparâ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().

Artigos interessantes...