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.