La función str () devuelve la versión de cadena del objeto dado.
La sintaxis de str()
es:
str (objeto, codificación = 'utf-8', errores = 'estricto')
str () Parámetros
El str()
método toma tres parámetros:
- objeto :
object
cuya representación de cadena se devolverá. Si no se proporciona, devuelve la cadena vacía - encoding : codificación del objeto dado. Valores predeterminados de UTF-8 cuando no se proporciona.
- errores : respuesta cuando falla la decodificación. Por defecto es
'strict'
.
Hay seis tipos de errors
:
- estricto : respuesta predeterminada que genera una
UnicodeDecodeError
excepción en caso de falla - ignorar : ignora el Unicode no codificable del resultado
- reemplazar : reemplaza el Unicode no codificable por un signo de interrogación
- xmlcharrefreplace : inserta una referencia de carácter XML en lugar de Unicode no codificable
- backslashreplace - inserta una
uNNNN
secuencia de espacio en lugar de Unicode no codificable - namereplace : inserta una
N(… )
secuencia de escape en lugar de Unicode no codificable
Valor de retorno de str ()
El str()
método devuelve una cadena, que se considera una representación informal o agradablemente imprimible del objeto dado.
Ejemplo 1: convertir a cadena
Si no se proporciona el parámetro de codificación y errores , str()
internamente llama al __str__()
método de un objeto.
Si no puede encontrar el __str__()
método, en su lugar llama a repr (obj).
result = str(10) print(result)
Salida
10
Nota: La variable de resultado contendrá una cadena.
Pruebe también estos comandos en la consola de Python.
>>> str ('Adán')
>>> str (b'Python! ')
Ejemplo 2: ¿Cómo funciona str () para bytes?
Si encoding
y errors
está provisto de parámetros, el primer parámetro, objeto , debe ser un bytes-como-objeto (bytes o bytearray).
Si el objeto es bytes o bytearray , str()
llama internamente bytes.decode(encoding, errors)
.
De lo contrario, obtiene el objeto bytes en el búfer antes de llamar al decode()
método.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Salida
Pythn
Aquí, el carácter 'ö'
no puede ser descodificado por ASCII. Por tanto, debería dar un error. Sin embargo, hemos establecido el errors ='ignore'
. Por lo tanto, Python ignora el carácter que no puede decodificar str()
.