Solucione el error TypeError: must be str, not int en Python

Vaibhav Vaibhav 14 abril 2022
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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python Error