Python TypeError

Python TypeError

Neste artigo, aprenderemos o que o TypeError é em Python, o que o causa e como resolver ou corrigir erros de tipo no Python. O Python é descrito como uma linguagem de programação de alto nível que é orientada a objetos e foi desenvolvida por Guido van Rossum. O Python é um idioma de suporte para desenvolvedores de software e é usado para verificação de construção, administração de testes, etc. Vários erros ou exceções podem ocorrer ao lidar com dados na programação Python, portanto este artigo ajudará a esclarecer uma das exceções em Python chamado TypeError.

O que é um erro do tipo Python?

Um erro do tipo python é uma anomalia ou irregularidade que ocorre quando um objeto em um tipo de dados não é adequado para operações. Esse erro de tipo ocorre quando uma operação é executada em um objeto que não é adequado para dados ou os dados não suportam o objeto. Em outras palavras, o TypeError representa um erro levantado quando uma função ou operação não pode ser executada e a operação é forçada em um objeto de um tipo inadequado. Um exemplo seria que, ao usar a operação + (adição) em um tipo de string, o erro será incrementado por um valor inteiro.

O que causa um erro do tipo Python?

TypeError é uma das várias exceções no Python padrão. Como mencionado anteriormente, esse erro é levantado quando uma operação é realizada no tipo errado de objeto. Existem várias causas comuns de TypeError no Python. Alguns deles são descritos abaixo:

Operações não suportadas entre dois tipos

Este erro ocorre ao executar entre dois tipos de dados incompatíveis ou não suportados.

Para explicar, usaremos o exemplo da variável 'my_str', que é uma 'string' e a variável '12', que é um número inteiro. Você não pode usar a operação + (adição) entre os dois porque eles não se sustentam. Para explicar, sabemos que um número inteiro pode ser adicionado a outro número inteiro ou a um número decimal e não podemos adicionar um número inteiro a um objeto de string ou a uma variável.

Se inserirmos os seguintes dados para adicionar um número inteiro com uma string, obtemos o seguinte:

my_str = "Bem -vindo"
my_num = 12
imprimir (my_str + my_num + my_str)

Um TypeError ocorre se uma operação matemática for realizada ou ativada entre objetos que não o suportam. O resultado dos dados executados mostrará um erro de tipo e a saída será:

Esta saída mostra que o erro de tipo é uma string e não um número inteiro porque um número inteiro não é compatível com uma string. No exemplo acima, a string "Welcome" tenta adicionar ao número inteiro "12" e, como a adição não pode ser realizada entre os dois tipos diferentes, ocorre um erro de tipo.

Chamando um identificador não ligável

Outra causa de TypeError é uma chamada para um objeto não ligável, como um número inteiro. A string para 'Python é muito fácil de aprender!!'Contido na variável' my_message 'não é compatível neste caso e lançará um erro de tipo quando chamado em uma declaração de impressão.

my_message = "python é muito fácil de aprender!!"
print (my_message ())

Em Python, qualquer função ou método, com uma implementação do método de chamada na definição de classe, é chamado. Assim como qualquer função ou método, podemos chamar um objeto chamável. Portanto, se um número inteiro que é um objeto não ligável é chamado, um TypeError é elevado. A saída para o comando acima será assim:

Este resultado indica que o objeto da string não pode ser chamado. O exemplo mostra que a string 'Python é muito fácil de aprender' não pode ser chamada quando a declaração de impressão é executada, pois é um caso não ligável neste contexto.

Tipo de índice de lista inválida

Um erro de tipo é levantado quando um tipo incorreto é passado para uma função interna. No Python, os índices de lista são obrigados a ser sempre um número inteiro. Para entender isso, suponha que queremos criar uma lista de itens, digamos Apple, assistir, anel, unhas e bolsas. Agora, quando inserimos os dados e imprimimos o valor, obtemos um TypeError. Como sabemos, os índices devem estar na forma de números inteiros ou decimais, portanto, se uma string for usada, ocorrerá um erro.

my_list = ["Apple", "Watch", "Ring", "Nails", "Bag"]
index_num = "2"
print ("Aqui está a lista original:")
Imprimir (my_list)
print ("Aqui está o resultado:")
print (my_list [index_num])

No exemplo acima, como o código do valor do índice é fornecido em uma string, um erro de tipo é levantado. A seguir, é apresentada a saída do comando executado:

Nesse caso, obtemos um TypeError porque um tipo de string é detectado no valor do índice quando sabemos que apenas números inteiros ou decimais devem ser usados ​​para índices. Devido ao erro exibido na saída, os índices devem estar na forma de inteiros ou fatias, caso contrário, um erro de tipo é levantado.

Como resolver erros de tipo?

Erros de qualquer tipo não podem ser evitados em um programa, mas sua ocorrência sempre pode ser minimizada. Para minimizar a ocorrência de erros, podemos verificar os tipos de dados dos operandos, o que ajudará a evitar operações com tipos de dados incompatíveis. Variáveis, classes e funções em um programa também devem receber nomes adequados para ajudar a evitar chamar objetos não chamáveis. Outra maneira de evitar o erro é que o tipo de objeto deve ser verificado antes que a operação seja executada. Isso ajudará a garantir que a operação seja apropriada para o objeto e o objeto que suporta a operação. Se usarmos um dos exemplos acima, adicionaremos mais um passo a ele, será:

my_list = ["Apple", "Watch", "Ring", "Nails", "Bag"]
index_val = [0, "1", 2, 3]
para i no intervalo (len (index_val)):
tentar:
print (my_list [index_val [i]])
Exceto TypeError:
Print ("TypeError: Verifique a lista de índices")

A saída para este comando será:

Isso mostra que quando qualquer índice é considerado do tipo errado, ocorrerá um erro e o código fornecido o lidará. Esta verificação ajudará a determinar se um deles não é um número inteiro e por que o erro ocorrerá se não for corrigido.

Conclusão

Este artigo é sobre erros do tipo python e, nisso, aprendemos de uma maneira simplificada com exemplos de que tipo de erro é em Python e o que causa e como evitá -lo. Embora às vezes seja inevitável cometer erros, é melhor lidar com o erro antes que aconteça e esteja ciente das causas do TypeError. Como mencionado acima, um TypeError é uma exceção que ocorre quando o programador especifica um tipo de objeto incorreto para uma operação.