Häufige Python-Fehler identifizieren und verstehen
In diesem Schritt werden wir einige häufige Fehler untersuchen, denen Sie beim Schreiben von Python-Code begegnen können, und lernen, wie Sie Fehlermeldungen identifizieren und verstehen. Fehler sind ein normaler Bestandteil der Programmierung, und das Lesen und Interpretieren von Fehlermeldungen ist eine entscheidende Fähigkeit.
Wir werden absichtlich einige Fehler in unseren Code einbauen, um zu sehen, wie Python reagiert. Beginnen wir mit der Änderung der Datei hello.py
, die wir im ersten Schritt erstellt haben.
Öffnen Sie die Datei hello.py
im VS Code-Editor.
Zuerst führen wir einen Rechtschreibfehler in der print()
-Funktion ein. Ändern Sie die Zeile zu:
prunt("Hello, LabEx!")
Speichern Sie die Datei (Strg + S
).
Führen Sie nun die geänderte Datei hello.py
im Terminal aus:
python hello.py
Sie sollten eine Fehlermeldung ähnlich dieser sehen:
Traceback (most recent call last):
File "/home/labex/project/hello.py", line 1, in <module>
prunt("Hello, LabEx!")
NameError: name 'prunt' is not defined
Dies ist ein NameError
. Er teilt uns mit, dass der Name prunt
von Python nicht erkannt wird. Das liegt daran, dass der korrekte Funktionsname print
ist. Die Fehlermeldung verweist auch auf den Dateinamen (hello.py
), die Zeilennummer (Zeile 1) und den spezifischen Code, der den Fehler verursacht hat.
Korrigieren wir nun die Schreibweise von print
und führen einen fehlenden Anführungszeichen ein. Ändern Sie die Zeile zurück zu print
, aber entfernen Sie das schließende doppelte Anführungszeichen:
print("Hello, LabEx!)
Speichern Sie die Datei und führen Sie sie erneut aus:
python hello.py
Sie sollten eine andere Fehlermeldung sehen, wahrscheinlich einen SyntaxError
:
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!)
^
SyntaxError: unterminated string literal (missing '"')
Dieser SyntaxError
zeigt an, dass es ein Problem mit der Struktur Ihres Codes gibt. Die Meldung "unterminated string literal (missing '"')" besagt eindeutig, dass ein String mit einem doppelten Anführungszeichen begonnen hat, aber nicht mit einem beendet wurde.
Schließlich korrigieren wir die Anführungszeichen und führen ein nicht-englischen Zeichen für die Klammern ein. Ändern Sie die Zeile zu:
print("Hello, LabEx!")
Beachten Sie, dass die Klammern hier volle chinesische Zeichen sind und nicht die halbreiten englischen Zeichen, die Python benötigt.
Speichern Sie die Datei und führen Sie sie aus:
python hello.py
Sie werden wahrscheinlich einen SyntaxError
sehen, der sich auf ungültige Zeichen bezieht:
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!")
^
SyntaxError: invalid character '(' (U+FF08)
Diese Fehlermeldung verweist auf das ungültige Zeichen und seine Unicode-Darstellung. Python erwartet Standard-englische halbreite Zeichen für Syntaxelemente wie Klammern.
Indem Sie diese Fehler absichtlich erzeugen und die Fehlermeldungen beobachten, können Sie beginnen zu verstehen, was verschiedene Fehlertypen bedeuten und wie Sie die Quelle des Problems in Ihrem Code lokalisieren können. Im nächsten Schritt lernen wir, wie wir diese Fehler beheben können.