Python

Tutoriel de traçage Python

Tutoriel de traçage Python
Une fois qu'une exception est créée lors de l'exécution du code, Python affiche un traceback. Un traceback semble être un rapport en Python qui inclut les appels de fonction effectués à un certain endroit dans le code, je.e., une fois que vous avez une erreur, il est suggéré de la supprimer en arrière (traçage). Le retraçage peut fournir des détails sur ce qui s'est passé avec le code si le code reçoit une erreur. De tels retraçages peuvent sembler un peu épuisants, mais ils peuvent être très utiles jusqu'à ce que vous les démontiez et voyiez ce qu'ils essaient de vous apprendre. Il y a beaucoup de données dans le traceback Python qui vous aideront à analyser et à corriger la cause du problème généré dans votre code.

Interpréter le retraçage :

L'examen de certains retraçages peut donner une meilleure interprétation des connaissances qu'ils fournissent pour vous permettre d'en tirer quelque chose. Jetons un coup d'œil à l'interprétation de la façon dont une exception de base peut être retracée. Voici un exemple de code simple générant une erreur de trace dans l'exécution de Spyder (Python 3).

Ci-dessous l'image de retraçage d'erreur. La première ligne indique l'emplacement du fichier. Voici quelques spécifications pour toutes les lignes utilisant des couleurs.

Blanc: Traceback (appel le plus récent en dernier) est une instruction de traceback. D'autre part, la partie blanche de la dernière ligne affiche les informations d'erreur associées.

Vert: Dire un nom de fichier et son emplacement a une erreur.

Bleu: Affiche le numéro de ligne d'un fichier où l'erreur s'est produite.

Jaune: Il affiche la ligne réelle où une exception est apparue.

Rouge: Type d'erreur.

Voici quelques erreurs importantes dans le retraçage :

NameError
IndexError
KeyError
Erreur-type
valueError
ImportError /ModuleNotFound

Erreur de nom :
Chaque fois que vous souhaitez interpréter une variable qui n'a pas été spécifiée dans le code, NameError apparaît. Voici un exemple simple de trace NameError. Nous avons une variable 'numéro' défini avec une certaine valeur, tandis que dans le imprimer déclaration, nous avons imprimé 'engourdi', qui n'est défini nulle part dans le code. Exécutons ce code et vérifions ce qui se passe.

Vous pouvez voir que la trace NameError s'est produite car nous n'avons pas défini la variable 'numb', alors comment peut-elle être imprimée. C'est pourquoi ce programme affiche le NameError et l'élabore avec des informations supplémentaires à la dernière ligne avec du texte blanc et rouge. Le texte jaune montre le code exact où l'erreur se produit.

Erreur d'index :

Une IndexError est produite lorsqu'une série hors de portée est définie dans le code. Nous avons défini un liste nommé 'Nouveau' ayant 5 indices avec quelques valeurs dedans. Après cela, nous devons indiquer la commande d'impression pour afficher la valeur à indice numéro 9.

Lorsque nous exécutons ce code, il générera IndexError définissant l'index hors plage. Comme nous avons défini une liste de 5 index, donc le numéro d'index imprimé, qui est 9 n'est pas accessible car il n'est pas dans notre gamme.

Erreur de clé :

Python génère une erreur de clé lorsque vous essayez d'atteindre le clé lequel est non défini ou cartographiés, notamment à partir d'un dictionnaire. Cela ressemble plus à une IndexError. Voyons donc un exemple simple de dictionnaire nommé 'Aléatoire' avec deux clés définies dedans avec certaines valeurs attribuées à ces clés. Sur la ligne suivante, nous avons imprimé la clé nommée 'UNE' dans la déclaration d'impression.

Oh! Nous avons une trace KeyError. Cela est dû à la mauvaise clé fournie dans l'instruction print, qui n'est pas définie dans le dictionnaire. On peut se tromper en fournissant une clé en majuscule alors que le dictionnaire a une clé en minuscule définie dedans.

Erreur-type:

TypeError est défini comme une exception qui se produit lorsqu'une opération ou une méthode a été appliquée à un type inadapté d'une entité ou d'une variable. Nous avons un exemple d'une variable simple prenant deux valeurs tandis que cette chaîne ajoute à la fois les valeurs. La première valeur est un type chaîne et l'autre est un type entier. L'instruction print imprime le résultat de l'addition.

Lorsque ce code est exécuté, il lève l'exception. Cette exception concerne le mauvais type d'objet concaténé. Il est élaboré que vous ne pouvez pas ajouter une variable de type chaîne avec une variable de type entier.

Erreur de valeur :

L'erreur de valeur est définie comme une exception qui ne se produit que lorsque certains méthode intégrée prend le argument de type droit mais le valeur erronée dedans. Regardons un petit exemple. Nous adoptons une méthode intégrée de entier() avec une valeur de chaîne dans une instruction print.

Lorsque vous exécutez ce code d'une ligne, il générera une ValueError car nous utilisons une fonction de type entier tout en lui donnant une valeur de chaîne à exécuter. C'est pourquoi il montrera que la fonction int() a une valeur invalide.

D'un autre côté, si vous lui donnez une valeur fractionnaire, il la convertira en une valeur entière.

Ce code renvoie 11 car il ne prend que la partie entière tandis que la partie décimale est complètement ignorée.

Erreur d'importation/module introuvable :

Parfois il faut importer certains paquets ou modules dans votre code python pour utiliser des fonctionnalités spéciales à travers eux. Vous trouverez une trace ImportError lorsqu'elle est quelque peu erronée à propos d'une instruction Import dans le code. Cette erreur de traçabilité se produit lorsque vous êtes incapable à trouve le module spécifique ou quelque chose dans le package. Ici, nous avons importé deux modules, 'pépin' et 'Java', dans notre code.

Lors de l'exécution de ce code, le suivi de ModuleNotFoundError sera généré. C'est parce que le module importé 'java' n'est pas pris en charge par la bibliothèque python. D'un autre côté, il ne donne pas d'exception lors de l'importation du module 'pip' car il s'agit d'un module pris en charge par Python.

Conclusion:

Le traceback Python fournit d'excellentes connaissances qui vous aideront à comprendre ce qui ne va pas dans le code. Que vous le fassiez pour la première fois ou que vous ne compreniez tout simplement pas ce que cela fait, la génération de traçabilité peut être un peu intimidante. Pour devenir un programmeur Python plus fort, il est important d'apprendre quels détails un traçage Python donne.

Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...