Identifier et Comprendre les Erreurs Python Courantes
Dans cette étape, nous allons explorer quelques erreurs courantes que vous pourriez rencontrer lors de l'écriture de code Python et apprendre à identifier et comprendre les messages d'erreur. Rencontrer des erreurs est une partie normale de la programmation, et apprendre à lire et interpréter les messages d'erreur est une compétence cruciale.
Nous allons intentionnellement introduire des erreurs dans notre code pour voir comment Python réagit. Commençons par modifier le fichier hello.py que nous avons créé à la première étape.
Ouvrez le fichier hello.py dans l'éditeur VS Code.
Tout d'abord, introduisons une faute d'orthographe dans la fonction print(). Modifiez la ligne comme suit :
prunt("Hello, LabEx!")
Enregistrez le fichier (Ctrl + S).
Maintenant, exécutez le fichier modifié hello.py depuis le terminal :
python hello.py
Vous devriez voir un message d'erreur similaire à celui-ci :
Traceback (most recent call last):
File "/home/labex/project/hello.py", line 1, in <module>
prunt("Hello, LabEx!")
NameError: name 'prunt' is not defined
Il s'agit d'une NameError (Erreur de nom). Elle nous indique que le nom prunt n'est pas reconnu par Python. C'est parce que le nom correct de la fonction est print. Le message d'erreur indique également le nom du fichier (hello.py), le numéro de ligne (ligne 1) et le code spécifique qui a causé l'erreur.
Maintenant, corrigeons l'orthographe de print et introduisons une guillemet manquant. Remettez la ligne à print, mais supprimez la guillemet double fermante :
print("Hello, LabEx!)
Enregistrez le fichier et exécutez-le à nouveau :
python hello.py
Vous devriez voir un message d'erreur différent, probablement une SyntaxError :
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!)
^
SyntaxError: unterminated string literal (missing '"')
Cette SyntaxError (Erreur de syntaxe) indique qu'il y a un problème avec la structure de votre code. Le message "unterminated string literal (missing '"')" nous dit clairement qu'une chaîne de caractères a commencé par une guillemet double mais ne s'est pas terminée par une.
Enfin, corrigeons les guillemets et introduisons un caractère non anglais pour les parenthèses. Modifiez la ligne comme suit :
print("Hello, LabEx!")
Notez que les parenthèses ici sont des caractères chinois pleine chasse (full-width), et non les caractères anglais demi-chasse (half-width) requis par Python.
Enregistrez le fichier et exécutez-le :
python hello.py
Vous verrez probablement une SyntaxError liée à des caractères invalides :
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!")
^
SyntaxError: invalid character '(' (U+FF08)
Ce message d'erreur pointe vers le caractère invalide et sa représentation Unicode. Python attend des caractères demi-chasse anglais standard pour les éléments de syntaxe tels que les parenthèses.
En créant intentionnellement ces erreurs et en observant les messages d'erreur, vous pouvez commencer à comprendre ce que signifient les différents types d'erreurs et comment localiser la source du problème dans votre code. Dans la prochaine étape, nous apprendrons à déboguer ces erreurs.