Menu

Python-Syntax: Einrückung, Zeilen, Doppelpunkte und die Regeln, die zählen

Das kleinste Regelwerk, an dem Python tatsächlich hängt — Einrückung, Zeilenumbrüche, Doppelpunkte und Groß-/Kleinschreibung — ohne Fachchinesisch erklärt.

Das kleinstmögliche Regelwerk

Python hat den Ruf, lesbar zu sein, und das liegt vor allem daran, wie wenige Syntaxregeln die Sprache überhaupt hat. Die wichtigen passen auf eine einzige Seite:

  • Eine Anweisung pro Zeile.
  • Die Einrückung definiert die Struktur — keine Klammern, keine end-Schlüsselwörter.
  • Groß-/Kleinschreibung zählt. name und Name sind verschieden.
  • : öffnet einen Block; die darunter eingerückten Zeilen sind dessen Rumpf.
  • # leitet einen Kommentar ein.

Das ist es im Wesentlichen. Alles andere sind Variablen, Funktionen und Gewohnheiten aus der Standardbibliothek, die du unterwegs aufschnappst. Gehen wir diese fünf Regeln mit genug Kontext durch, dass sie aufhören, sich wie Regeln anzufühlen, und anfangen, sich wie die natürliche Form der Sprache anzufühlen.

Eine Anweisung pro Zeile

Eine Anweisung ist eine vollständige Instruktion — „gib das aus“, „addiere diese“, „weise jenes zu“. In Python steht jede Anweisung in ihrer eigenen Zeile:

main.py
Output
Click Run to see the output here.

Drei Anweisungen, drei Zeilen. Du brauchst kein Semikolon am Ende, und der meiste Python-Code nutzt keines. (Du kannst zwei Anweisungen mit einem Semikolon in eine Zeile packen, aber das gilt als schlechter Stil. Lass es.)

Wenn eine Zeile wirklich lang werden muss, kannst du sie an einer natürlichen Stelle innerhalb von runden, eckigen oder geschweiften Klammern umbrechen — Python beschwert sich nicht:

main.py
Output
Click Run to see the output here.

Oder, seltener, beende eine Zeile mit einem Backslash, um sie fortzusetzen. Bevorzuge den Klammer-Trick, wo du kannst — das nutzt die Mehrheit der Codebases.

Einrückung ist strukturell

Das ist der Teil, über den Neulinge stolpern. In Python hat der Leerraum am Anfang einer Zeile Bedeutung. Er sagt Python, welche Zeilen zusammengehören.

Schau dir ein einfaches if an:

main.py
Output
Click Run to see the output here.

Die zwei Zeilen nach if hour < 12: sind mit vier Leerzeichen eingerückt. Python liest diese Einrückung als „diese beiden Zeilen sind der Rumpf des if“. Das letzte print ist wieder am linken Rand, also sieht Python es als außerhalb des if.

Entfernst du die Einrückung, bricht das if. Rückst du um ein Leerzeichen zu weit ein, bricht das if. Python ist hier streng, weil die Einrückung die Struktur ist — es gibt kein { oder end, das sie absichert.

Daraus folgen ein paar Regeln:

  1. Wähle vier Leerzeichen pro Einrückungsebene und bleib dabei. Das ist die PEP-8-Konvention und das, was jeder Editor in .py-Dateien standardmäßig macht.
  2. Misch keine Tabs und Leerzeichen. Python 3 lehnt eine Datei ab, die beides benutzt. Moderne Editoren wandeln Tabs beim Speichern automatisch in Leerzeichen um; stell sicher, dass deiner das tut.
  3. Einrückungsfehler passieren. Wenn es so weit ist, nennt die Fehlermeldung die Zeilennummer. Schau nach, dass der führende Leerraum dieser Zeile dem ihrer Geschwister entspricht.

Der Doppelpunkt öffnet einen Block

Jede Konstruktion, die einen verschachtelten Block erzeugt — if, else, for, while, def, class, with, try — beendet ihre Kopfzeile mit einem Doppelpunkt. Die eingerückten Zeilen darunter bilden den Blockrumpf:

main.py
Output
Click Run to see the output here.

Zwei Dinge fallen auf: der Doppelpunkt am Ende der Kopfzeile und die Vier-Leerzeichen-Einrückung der Rumpfzeilen. Vergisst du den Doppelpunkt, sagt dir Python so etwas wie SyntaxError: expected ':'. Diese Fehlermeldung ist eindeutig — fix das fehlende Zeichen, und du bist wieder drin.

Groß-/Kleinschreibung

Python behandelt Name, name und NAME als drei völlig verschiedene Dinge. Das gilt für:

  • Deine eigenen Variablen und Funktionen.
  • Eingebaute Namen wie print, len, True, False, None.
  • Modul- und Attributnamen.

Das beißt dich normalerweise nur, wenn du aus Versehen groß schreibst. True ist der boolesche Wahrheitswert; true ist eine undefinierte Variable, die NameError wirft. Print(...) ist nicht die Funktion print — es ist ein Tippfehler.

Wenn ein Fehler sagt „name 'X' is not defined“ und du schwörst, du hättest X definiert, prüf zuerst die Großschreibung. In neun von zehn Fällen ist sie der Schuldige.

Kommentare mit #

Alles nach einem # in einer Zeile ist ein Kommentar — Python ignoriert es komplett. Kommentare sind Notizen an zukünftige Leser (einschließlich deines zukünftigen Ichs):

main.py
Output
Click Run to see the output here.

Python hat keine mehrzeilige Kommentar-Syntax. Brauchst du mehrere Zeilen, nimm mehrere #-Zeilen. (Du wirst manchmal dreifach zitierte Strings als Pseudo-Kommentare sehen — das ist eine separate Sache namens Docstring, die wir beim Thema Funktionen behandeln.)

Reservierte Wörter

Ein paar Wörter sind als Variablennamen tabu, weil Python sie selbst benutzt: if, else, for, while, def, class, return, import, from, as, pass, break, continue, True, False, None, and, or, not, in, is, lambda, try, except, finally, raise, with, yield, global, nonlocal, async, await. Diese Liste musst du dir nicht merken. Wenn du eines davon benutzt, beschwert sich Python sofort.

Du weißt genug, um jede Python-Datei zu lesen

Jede Regel, die du gerade gelesen hast, gilt für jede Python-Datei — für ein zweizeiliges Skript genauso wie für ein Projekt mit hunderttausend Zeilen. Der Rest der Sprache ist auf diesen fünf Ideen aufgebaut. Sieht eine Datei verwirrend aus, ist die Lösung fast immer, zuerst auf die Einrückung zu achten. Sie verrät dir, was der Code tut, noch bevor du liest, was in den Zeilen steht.

Als Nächstes: Kommentare, etwas ausführlicher — und Docstrings, mit denen Python Dokumentation für Funktionen und Module handhabt.

Häufig gestellte Fragen

Warum ist Python so streng mit der Einrückung?

Python nutzt die Einrückung, um zu erkennen, welche Zeilen zusammengehören. Wo andere Sprachen Codegruppen in geschweifte Klammern { } packen, nutzt Python stattdessen konsistente führende Leerzeichen. Das ist weniger visuelles Rauschen, aber es heißt auch, dass du bei den Abständen nicht schlampen kannst.

Wie viele Leerzeichen soll ich in Python einrücken?

Vier Leerzeichen pro Ebene ist der Standard der Community (PEP 8). Die meisten Editoren fügen in einer Python-Datei vier Leerzeichen ein, wenn du Tab drückst. Die genaue Zahl ist weniger wichtig als konsistent zu bleiben — zwei und vier Leerzeichen im selben Block zu mischen ist ein häufiger Fehler.

Unterscheidet Python Groß- und Kleinschreibung?

Ja. Name, name und NAME sind drei verschiedene Variablen. Eingebaute Namen wie print und True müssen genau so geschrieben werden, wie sie gezeigt sind — True funktioniert, true wirft einen Fehler.

Lerne mit Coddy zu programmieren

LOS GEHT'S