Python TypeError

Python TypeError

Dans cet article, nous apprendrons ce que TypeError est à Python, ce qui les cause et comment résoudre ou corriger les erreurs de type dans Python. Python est décrit comme un langage de programmation de haut niveau qui est orienté objet et a été développé par Guido Van Rossum. Python est un langage de support pour les développeurs de logiciels et est utilisé pour la vérification des build, l'administration des tests, etc. Plusieurs erreurs ou exceptions peuvent se produire lors de la gestion des données dans la programmation Python, donc cet article vous aidera à éclairer l'une des exceptions de Python appelé TypeError.

Qu'est-ce qu'une erreur de type Python?

Une erreur de type Python est une anomalie ou une irrégularité qui se produit lorsqu'un objet dans un type de données ne convient pas aux opérations. Cette erreur de type se produit lorsqu'une opération est effectuée sur un objet qui ne convient pas aux données ou que les données ne prennent pas en charge l'objet. En d'autres termes, TypeError représente une erreur qui est soulevée lorsqu'une fonction ou opération ne peut pas être effectuée et que l'opération est forcée sur un objet de type inapproprié. Un exemple serait que lorsque vous utilisez l'opération + (ajout) sur un type de chaîne, l'erreur sera incrémentée d'une valeur entière.

Ce qui provoque une erreur de type python?

TypeError est l'une des nombreuses exceptions de Python standard. Comme mentionné précédemment, cette erreur est augmentée lorsqu'une opération est effectuée sur le mauvais type d'objet. Il y a plusieurs causes communes de type EERROR dans Python. Certains d'entre eux sont décrits ci-dessous:

Opérations non prises en charge entre deux types

Cette erreur se produit lors de l'exécution entre deux types de données incompatibles ou non pris en charge.

Pour expliquer, nous utiliserons l'exemple de la variable «my_str», qui est une «chaîne» et la variable «12», qui est un entier. Vous ne pouvez pas utiliser l'opération + (ajout) entre les deux car ils ne se soutiennent pas. Pour expliquer, nous savons qu'un entier peut être ajouté à un autre entier ou à un numéro décimal et nous ne pouvons pas ajouter un entier à un objet de chaîne ou à une variable.

Si nous entrons les données suivantes pour ajouter un entier avec une chaîne, nous obtenons ce qui suit:

my_str = "bienvenue"
my_num = 12
print (my_str + my_num + my_str)

Une STAYERROR se produit si une opération mathématique est effectuée ou activée entre des objets qui ne le prennent pas en charge. Le résultat des données exécutées affichera une erreur de type et la sortie sera:

Cette sortie montre que l'erreur de type est une chaîne et non un entier car un entier n'est pas compatible avec une chaîne. Dans l'exemple ci-dessus, la chaîne «bienvenue» essaie d'ajouter à l'integer «12» et comme l'ajout ne peut pas être effectué entre les deux types différents, une erreur de type se produit.

Appeler un identifiant non callable

Une autre cause de TypeError est un appel à un objet non callable, comme un entier. La chaîne pour 'Python est très facile à apprendre!!`` contenu dans la variable 'my_message' 'n'est pas calleux dans ce cas et lancera une erreur de type lorsqu'elle est appelée dans une déclaration d'impression.

my_message = "python est très facile à apprendre!!"
imprimer (my_message ())

Dans Python, toute fonction ou méthode, avec une implémentation de méthode d'appel dans la définition de la classe, est appelée callable. Comme toute fonction ou méthode, nous pouvons appeler un objet appelant. Donc, si un entier qui est un objet non callable est appelé, un type EERROR est soulevé. La sortie de la commande ci-dessus ressemblera à ceci:

Ce résultat indique que l'objet String ne peut pas être appelé. L'exemple montre que la chaîne «Python est très facile à apprendre» ne peut pas être appelée lorsque l'instruction IMPRESS est exécutée, car il s'agit d'un cas non callable dans ce contexte.

Type d'index de liste non valide

Une erreur de type est augmentée lorsqu'un type incorrect est transmis à une fonction intégrée. Dans Python, les indices de liste sont nécessaires pour toujours être un entier. Pour comprendre cela, supposons que nous voulons créer une liste d'articles, disons Apple, Regardez, sonnez, ongles et sac. Maintenant, lorsque nous insérons les données et imprimons la valeur, nous obtenons une éERROR. Comme nous le savons, les indices sont censés être sous la forme d'entiers ou de nombres décimaux, si une chaîne est utilisée, une erreur se produira.

my_list = ["Apple", "Watch", "Ring", "Nails", "sac"]
index_num = "2"
Print ("Voici la liste originale:")
imprimer (my_list)
Print ("Voici le résultat:")
print (my_list [index_num])

Dans l'exemple ci-dessus, parce que le code de la valeur d'index est donné dans une chaîne, une erreur de type est augmentée. Ce qui suit est la sortie de la commande exécutée:

Dans ce cas, nous obtenons un type EERROR car un type de chaîne est détecté dans la valeur d'index lorsque nous savons que seuls les entiers ou les décimales doivent être utilisés pour les indices. En raison de l'erreur affichée sur la sortie, les indices doivent être sous la forme d'entiers ou de tranches, sinon, une erreur de type est augmentée.

Comment résoudre les erreurs de type?

Les erreurs de quelque nature que ce soit ne peuvent être évitées dans un programme mais leur occurrence peut toujours être minimisée. Pour minimiser la survenue d'erreurs, nous pouvons vérifier les types de données des opérandes, ce qui aidera à éviter les opérations avec des types de données incompatibles. Les variables, les classes et les fonctions dans un programme doivent également recevoir des noms propres pour vous aider à éviter d'appeler des objets non appelés. Une autre façon d'éviter l'erreur est que le type de l'objet doit être vérifié avant l'exécution de l'opération. Cela aidera à garantir que l'opération est appropriée pour l'objet et l'objet qui prend en charge l'opération. Si nous utilisons l'un des exemples ci-dessus, nous y ajouterons une étape supplémentaire, ce sera:

my_list = ["Apple", "Watch", "Ring", "Nails", "sac"]
index_val = [0, "1", 2, 3]
pour i dans la plage (len (index_val)):
essayer:
print (my_list [index_val [i]])
sauf TypeError:
Imprimer ("TypeError: Liste des indices")

La sortie de cette commande sera:

Cela montre que lorsqu'un index est du mauvais type, une erreur se produira et que le code donné le gèrera. Ce chèque aidera à déterminer si l'un d'eux n'est pas un entier et pourquoi l'erreur se produira si elle n'est pas corrigée.

Conclusion

Cet article concerne les erreurs de type Python et nous avons appris de manière simplifiée avec des exemples de ce que l'erreur de type est dans Python et ce qui les cause et comment l'éviter. Bien qu'il soit parfois inévitable de faire des erreurs, il est préférable de gérer l'erreur avant qu'elle ne se produise et d'être conscient des causes du type EERROR. Comme mentionné ci-dessus, une SypeError est une exception qui se produit lorsque le programmeur spécifie un type d'objet incorrect pour une opération.