En este artículo, aprenderemos qué TypeError hay en Python, qué lo causa y cómo resolver o corregir errores de tipo en Python. Python se describe como un lenguaje de programación de alto nivel que está orientado a objetos y fue desarrollado por Guido van Rossum. Python es un lenguaje de soporte para desarrolladores de software y se utiliza para la comprobación de compilación, la administración de pruebas, etc. Pueden ocurrir varios errores o excepciones al manejar datos en la programación de Python, por lo que este artículo ayudará a arrojar algo de luz sobre una de las excepciones en Python llamadas TypeError.
¿Qué es un error de tipo python??
Un error de tipo de pitón es una anomalía o irregularidad que ocurre cuando un objeto en un tipo de datos no es adecuado para las operaciones. Este error de tipo ocurre cuando se realiza una operación en un objeto que no es adecuado para datos o los datos no admiten el objeto. En otras palabras, TypeError representa un error que se plantea cuando no se puede realizar una función u operación y la operación se forja en un objeto de un tipo inapropiado. Un ejemplo sería que al usar la operación + (adición) en un tipo de cadena, el error se incrementará por un valor entero.
¿Qué causa un error de tipo Python??
TypeError es una de varias excepciones en Python estándar. Como se mencionó anteriormente, este error se plantea cuando se realiza una operación en el tipo de objeto incorrecto. Hay varias causas comunes de TypeError en Python. Algunos de ellos se describen a continuación:
Operaciones no compatibles entre dos tipos
Este error ocurre al ejecutar entre dos tipos de datos incompatibles o no compatibles.
Para explicar, usaremos el ejemplo de la variable 'my_str', que es una 'cadena' y la variable '12', que es un entero. No puede usar la operación + (adición) entre los dos porque no se admiten entre sí. Para explicar, sabemos que un entero se puede agregar a otro número entero o un número decimal y no podemos agregar un entero a un objeto de cadena o una variable.
Si ingresamos los siguientes datos para agregar un entero con una cadena, obtenemos lo siguiente:
my_str = "bienvenido"
my_num = 12
PRIMIS (MY_STR + MY_NUM + MY_STR)
Se produce un TypeError si se realiza o habilita una operación matemática entre objetos que no lo admiten. El resultado de los datos ejecutados mostrará un error de tipo y la salida será:
Esta salida muestra que el error de tipo es una cadena y no un entero porque un entero no es compatible con una cadena. En el ejemplo anterior, la cadena "bienvenida" intenta agregar al entero "12" y dado que la adición no se puede realizar entre los dos tipos diferentes, se produce un error de tipo.
Llamar a un identificador no casable
Otra causa de typeError es una llamada a un objeto no talable, como un entero. La cadena para 'Python es muy fácil de aprender!!'contenida en la variable' my_message 'no es transitable en este caso y lanzará un error de tipo cuando se le llame en una instrucción de impresión.
my_message = "Python es muy fácil de aprender!!"
imprimir (my_message ())
En Python, cualquier función o método, con una implementación del método de llamadas en la definición de clase, se denomina invocatoria. Al igual que cualquier función o método, podemos llamar a un objeto invocable. Entonces, si se llama un entero que se llama un objeto no talable, se plantea un tipoguror. La salida del comando anterior se verá así:
Este resultado indica que no se puede llamar al objeto de cadena. El ejemplo muestra que la cadena 'Python es muy fácil de aprender' no se puede llamar cuando se ejecuta la declaración de impresión, ya que es un caso no transitable en este contexto.
Tipo de índice de lista no válido
Se plantea un error de tipo cuando se pasa un tipo incorrecto a una función incorporada. En Python, se requieren índices de lista para ser siempre un entero. Para comprender esto, supongamos que queremos crear una lista de artículos, digamos Apple, reloj, anillo, uñas y bolsa. Ahora, cuando insertamos los datos e imprimimos el valor, obtenemos un TipoError. Como sabemos, se supone que los índices deben ser en forma de enteros o números decimales, por lo tanto, si se usa una cadena, se producirá un error.
my_list = ["Apple", "Watch", "Ring", "Nails", "Bag"]
index_num = "2"
Imprimir ("Aquí está la lista original:")
imprimir (my_list)
Imprimir ("Aquí está el resultado:")
print (my_list [index_num])
En el ejemplo anterior, debido a que el código del valor del índice se da en una cadena, se plantea un error de tipo. El siguiente es el resultado del comando ejecutado:
En este caso, obtenemos un TipoError porque se detecta un tipo de cadena en el valor de índice cuando sabemos que solo se deben usar enteros o decimales para índices. Debido al error que se muestra en la salida, los índices deben estar en forma de enteros o cortes, de lo contrario, se plantea un error de tipo.
Cómo resolver errores de tipo?
Los errores de ningún tipo no se pueden evitar en un programa, pero su ocurrencia siempre se puede minimizar. Para minimizar la ocurrencia de errores, podemos verificar los tipos de datos de los operandos, lo que ayudará a evitar las operaciones con tipos de datos incompatibles. Las variables, las clases y las funciones en un programa también se les debe dar nombres adecuados para ayudarlo a evitar llamar a objetos no casables. Otra forma de evitar el error es que el tipo de objeto debe verificarse antes de que se realice la operación. Esto ayudará a garantizar que la operación sea apropiada para el objeto y el objeto que admite la operación. Si usamos uno de los ejemplos anteriores, le agregaremos un paso más, será:
my_list = ["Apple", "Watch", "Ring", "Nails", "Bag"]
index_val = [0, "1", 2, 3]
para i en el rango (len (index_val)):
intentar:
print (my_list [index_val [i]])
Excepto TypeError:
imprimir ("TypeError: verificación de los índices")
La salida de este comando será:
Esto muestra que cuando se encuentra que cualquier índice es del tipo incorrecto, se producirá un error y el código dado lo manejará. Esta verificación ayudará a determinar si uno de ellos no es un entero y por qué ocurrirá el error si no se corrigirá.
Conclusión
Este artículo trata sobre errores de tipo Python y en este hemos aprendido de manera simplificada con ejemplos de qué tipo de error hay en Python y qué lo causa y cómo evitarlo. Si bien a veces es inevitable cometer errores, es mejor manejar el error antes de que suceda y estar al tanto de las causas del TypeError. Como se mencionó anteriormente, un TypeError es una excepción que ocurre cuando el programador especifica un tipo de objeto incorrecto para una operación.