Solucione el error TypeError: must be str, not int en Python
La concatenación de cadenas se refiere a la combinación de varias cadenas en una sola cadena. En Python, podemos usar el símbolo +
entre variables que se refieren a cadenas o cadenas en bruto para unirlas. O bien, podemos poner todas las cadenas que deseamos unir dentro de una lista y usar el método integrado join()
de Python para fusionarlas en una sola.
Al usar los dos métodos anteriores, si no tenemos cuidado con los tipos de datos de las variables y los valores sin procesar, podemos encontrarnos con la excepción TypeError
. Este artículo hablará sobre cómo solucionar este problema en Python.
Solucione el error TypeError: must be str, not int
en Python
Discutiremos un par de formas que podemos usar para corregir este error en Python.
El enfoque obvio
La primera solución es obvia; esté alerta sobre las variables y los valores brutos que está utilizando. Intente no concatenar una cadena con un número entero, objeto de clase o valor booleano.
El método str()
en Python
La segunda solución es utilizar el método integrado str()
en Python. Este método devuelve una versión de cadena del objeto pasado, por ejemplo, un número entero, un valor de coma flotante, un valor booleano, un objeto de clase, una lista, etc. Para los objetos de clase, este método devuelve el resultado de __repr__()
o el método __str__()
. Consulte el siguiente código de Python para entender esta función str()
de forma práctica.
class A:
def __init__(self, x):
self.x = x
def __str__(self):
return f"{self.x}"
print(str(1))
print(str(111.1))
print(str(False))
print(str(True))
print(str(None))
print(str(A(11111)))
print(str([1, 2, 3, 4, 5]))
Producción :
1
111.1
False
True
None
11111
[1, 2, 3, 4, 5]
Ahora, veamos cómo usar esta función para la concatenación de cadenas. Consulte el siguiente código para lo mismo.
a = "Hello World "
b = 1923
c = " Python "
d = 1235.23
e = " Numbers: "
f = [100, 200, 400, 800, 1600]
x = a + str(b) + c + str(d) + e + str(f)
print(x)
Producción :
Hello World 1923 Python 1235.23 Numbers: [100, 200, 400, 800, 1600]
La función str()
convertirá todos los valores en sus respectivos valores de cadena. Y, además, podemos concatenar de forma segura las cadenas sin encontrarnos con ninguna excepción.
Cadenas formateadas en Python
La tercera forma es usar cadenas formateadas. Las cadenas formateadas se refieren a cadenas con el prefijo f
. Estas cadenas nos permiten insertar variables o lógica dentro de cadenas regulares. La cadena formulada o final tendría las representaciones de cadena de los valores almacenados por las variables y los valores devueltos por la lógica o las llamadas a funciones. La lógica y las variables se insertan dentro de {}
presente dentro de las cadenas.
Consulte el siguiente código de Python para conocer el enfoque discutido.
a = 1923
b = 1235.23
c = [100, 200, 400, 800, 1600]
print(f"Hello World {a} Python {b} Numbers: {c}")
Producción :
Hello World 1923 Python 1235.23 Numbers: [100, 200, 400, 800, 1600]
Tenga en cuenta la presencia de una f
al comienzo de la cadena y múltiples {}
dentro de la cadena.
Artículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python