Wie Python Code ausführt
Du hast bereits dein erstes Programm geschrieben und ausgeführt. Aber was passiert eigentlich, wenn du auf den Play-Button klickst? Das zu verstehen hilft dir, Fehler besser zu finden und zu beheben.
Computer verstehen kein Python
Dein Computer versteht eigentlich nur eine Sprache: Maschinencode. Das sind Nullen und Einsen – für Menschen unlesbar. Python-Code wie print("Hallo") ist für den Computer zunächst nur Text ohne Bedeutung.
Damit dein Computer den Python-Code versteht, braucht er einen Übersetzer. Dieser Übersetzer heißt Interpreter.
Der Python-Interpreter
Der Interpreter ist das Programm, das du bei der Installation heruntergeladen hast. Er liest deinen Code, versteht ihn und sagt dem Computer, was er tun soll.
Stell dir den Interpreter wie einen Dolmetscher vor: Du sprichst Python, der Computer spricht Maschinencode, und der Interpreter übersetzt dazwischen.
python in der Kommandozeile eingibst, startest du den Interpreter. Er wartet dann auf deine Befehle.Zeile für Zeile
Python ist eine interpretierte Sprache. Das bedeutet: Der Interpreter liest und führt den Code Zeile für Zeile aus – von oben nach unten.
print("Erste Zeile") # 1. Diese Zeile wird zuerst ausgeführt
print("Zweite Zeile") # 2. Dann diese
print("Dritte Zeile") # 3. Und zuletzt dieseDer Interpreter arbeitet so:
- Lies Zeile 1
- Verstehe den Befehl (
printmit dem Text "Erste Zeile") - Führe ihn aus (Text erscheint auf dem Bildschirm)
- Gehe zur nächsten Zeile
- Wiederhole, bis keine Zeilen mehr übrig sind
Dieses Prinzip ist wichtig: Wenn Zeile 3 einen Fehler hat, werden Zeile 1 und 2 trotzdem ausgeführt, bevor der Fehler auftritt.
Zwei Arten von Fehlern
Beim Programmieren triffst du auf zwei Arten von Fehlern. Sie unterscheiden sich darin, wann sie auftreten.
Syntaxfehler (vor der Ausführung)
Syntax sind die Grammatikregeln einer Programmiersprache. Ein Syntaxfehler ist wie ein Rechtschreibfehler – Python versteht nicht, was du meinst.
print("Hallo"Hier fehlt die schließende Klammer. Python erkennt das Problem, bevor es den Code ausführt:
SyntaxError: '(' was never closedBei einem Syntaxfehler passiert gar nichts – nicht einmal die Zeilen vor dem Fehler werden ausgeführt. Python prüft zuerst die gesamte Datei auf Syntaxfehler.
Laufzeitfehler (während der Ausführung)
Laufzeitfehler treten auf, während das Programm läuft. Die Syntax ist korrekt, aber irgendetwas anderes stimmt nicht.
print("Das funktioniert")
print(unbekannte_variable)
print("Das wird nie erreicht")Ausgabe:
Das funktioniert
NameError: name 'unbekannte_variable' is not definedZeile 1 wurde ausgeführt ("Das funktioniert" erscheint). Bei Zeile 2 tritt der Fehler auf. Zeile 3 wird nie erreicht.
Fehlermeldungen lesen
Fehlermeldungen sehen auf den ersten Blick kompliziert aus. Sie folgen aber einem klaren Muster:
Traceback (most recent call last):
File "programm.py", line 2, in <module>
print(unbekannte_variable)
^^^^^^^^^^^^^^^^^^^^
NameError: name 'unbekannte_variable' is not definedSo liest du diese Meldung:
File "programm.py", line 2– Der Fehler ist in der Datei "programm.py" in Zeile 2print(unbekannte_variable)– Das ist die problematische ZeileNameError– Die Art des Fehlers (hier: ein Name wurde nicht gefunden)name 'unbekannte_variable' is not defined– Die genaue Beschreibung
Lies Fehlermeldungen immer von unten nach oben. Die wichtigste Information steht in der letzten Zeile.
Häufige Fehlerarten
Hier sind die Fehler, die dir am Anfang am häufigsten begegnen werden:
Bedeutung: Python versteht deinen Code nicht. Etwas stimmt mit der Schreibweise nicht.
Häufige Ursachen:
- Fehlende Klammern oder Anführungszeichen
- Falsche Einrückung
- Tippfehler in Schlüsselwörtern
# Fehlende Klammer
print("Hallo"
# Fehlende Anführungszeichen
print(Hallo)Bedeutung: Python kennt einen Namen nicht, den du verwendet hast.
Häufige Ursachen:
- Variable wurde nicht erstellt
- Tippfehler im Variablennamen
- Anführungszeichen bei Text vergessen
# Variable existiert nicht
print(nachricht)
# Tippfehler
nachricht = "Hallo"
print(narchicht) # Falsch geschriebenBedeutung: Du versuchst, etwas mit einem falschen Datentyp zu machen.
Häufige Ursachen:
- Text und Zahlen falsch kombiniert
- Funktion mit falschen Argumenten aufgerufen
# Text und Zahl addieren funktioniert nicht
alter = "25"
print(alter + 1) # TypeError!Interpreter vs. Compiler
Es gibt zwei Ansätze, wie Programmiersprachen Code ausführen können. Python verwendet einen Interpreter, aber andere Sprachen nutzen einen Compiler.
Der Interpreter übersetzt und führt den Code gleichzeitig aus – Zeile für Zeile.
- Schneller Start (keine Wartezeit vor der Ausführung)
- Fehler werden erst gefunden, wenn die Zeile erreicht wird
- Einfacher zu testen und zu debuggen
- Beispiele: Python, JavaScript, Ruby
Der Compiler übersetzt den gesamten Code in Maschinencode, bevor das Programm startet.
- Kompilierung braucht Zeit, aber das fertige Programm läuft schneller
- Viele Fehler werden vor der Ausführung gefunden
- Erzeugt eine ausführbare Datei (.exe unter Windows)
- Beispiele: C, C++, Rust, Go
Für Anfänger ist ein Interpreter praktischer: Du kannst Code schnell ausprobieren und siehst sofort das Ergebnis. Deshalb ist Python eine beliebte Einsteigersprache.
Zusammenfassung
Du hast in diesem Artikel gelernt:
- Der Python-Interpreter übersetzt deinen Code für den Computer
- Python führt Code Zeile für Zeile von oben nach unten aus
- Syntaxfehler verhindern die Ausführung komplett
- Laufzeitfehler treten während der Ausführung auf
- Fehlermeldungen zeigen dir genau, wo das Problem liegt
Im nächsten Artikel lernst du Variablen kennen – eine der wichtigsten Grundlagen beim Programmieren.