»Willst du dich am Ganzen erquicken, so muss du das Ganze im Kleinsten erblicken.« – Johann Wolfgang von Goethe
5 Grundlegendes zu Python-Programmen
In diesem Kapitel werden wir einige Grundlagen zur Programmierung in Python erarbeiten. Insbesondere werden Sie Ihr erstes »richtiges« Python-Programm erstellen, das nicht mehr nur im interaktiven Modus läuft.
5.1 Grundstruktur eines Python-Programms 

Das Wort Syntax kommt aus dem Griechischen und bedeutet »Satzbau«. Unter der Syntax einer Programmiersprache ist die vollständige Beschreibung erlaubter und verbotener Konstruktionen zu verstehen. Die Syntax wird durch eine Art Grammatik festgelegt, an die sich der Programmierer zu halten hat. Tut er es nicht, so verursacht er den allseits bekannten Syntax Error.
Um Ihnen ein Gefühl für die Sprache Python zu vermitteln, möchten wir zunächst einen Überblick über ihre Syntax geben. Dazu ist zu sagen, dass Python dem Programmierer sehr genaue Vorgaben macht, wie er seinen Quellcode zu strukturieren hat. Obwohl erfahrene Programmierer darin eine Einschränkung sehen mögen, kommt diese Eigenschaft gerade Programmierneulingen zugute, denn unstrukturierter und unübersichtlicher Code ist eine der größten Fehlerquellen in der Programmierung.
Grundsätzlich besteht ein Python-Programm aus einzelnen Anweisungen, die im einfachsten Fall genau eine Zeile im Quelltext einnehmen. Folgende Anweisung gibt beispielsweise einen Text auf dem Bildschirm aus:
print "Hallo Welt"
Einige Anweisungen lassen sich in einen Anweisungskopf und einen Anweisungskörper unterteilen, wobei der Körper weitere Anweisungen enthalten kann:
Abbildung 5.1 Struktur einer mehrzeiligen Anweisung
Das könnte in einem konkreten Python-Programm etwa so aussehen:
if x > 10: print "Der Interpreter leistet gute Arbeit" print "Zweite Zeile!"
Die Zugehörigkeit des Körpers zum Kopf wird in Python durch einen Doppelpunkt am Ende des Anweisungskopfes und durch eine tiefere Einrückung des Anweisungskörpers festgelegt. Die Einrückung kann sowohl über Tabulatoren als auch über Leerzeichen erfolgen, wobei man gut beraten ist, beides nicht zu vermischen. Wir empfehlen eine Einrückungstiefe von jeweils vier Leerzeichen.
Python unterscheidet sich hier von vielen gängigen Programmiersprachen, in denen die Zuordnung von Anweisungskopf und Anweisungskörper durch geschweifte Klammern oder Schlüsselwörter wie »Begin« und »End« erreicht wird.
| Achtung! |
| Ein Programm, in dem sowohl Leerzeichen als auch Tabulatoren verwendet wurden, kann vom Python-Interpreter anstandslos übersetzt werden, da jeder Tabulator intern durch acht Leerzeichen ersetzt wird. Dies kann aber zu schwer auffindbaren Fehlern führen, denn viele Editoren verwenden standardmäßig eine Tabulatorweite von vier Leerzeichen. Dadurch scheinen bestimmte Quellcodeabschnitte gleich weit eingerückt, obwohl sie es de facto nicht sind. Bitte stellen Sie Ihren Editor so ein, dass jeder Tabulator automatisch durch Leerzeichen ersetzt wird, oder verwenden Sie ausschließlich Leerzeichen zur Einrückung Ihres Codes. |
Möglicherweise fragen Sie sich jetzt, wie solche Anweisungen, die über mehrere Zeilen gehen, mit dem interaktiven Modus vereinbar sind, in dem ja immer nur eine Zeile bearbeitet werden kann. Nun, generell werden wir, wenn ein Codebeispiel mehrere Zeilen lang ist, nicht den interaktiven Modus verwenden. Dennoch ist die Frage berechtigt. Die Antwort: Es wird ganz intuitiv zeilenweise eingegeben. Wenn der Interpreter erkennt, dass eine Anweisung noch nicht vollendet ist, ändert er den Eingabeprompt von >>> in .... Geben wir einmal unser obiges Beispiel in den interaktiven Modus ein:
>>> x = 123 >>> if x > 10: ... print "Der Interpreter leistet gute Arbeit" ... print "Zweite Zeile!" ... >>>
Beachten Sie, dass Sie, auch wenn eine Zeile mit ... beginnt, die aktuelle Einrückungstiefe berücksichtigen müssen. Das Ende des Anweisungskörpers kann der Interpreter nicht automatisch erkennen, da er beliebig viele Anweisungen enthalten kann. Deswegen muss ein Anweisungskörper im interaktiven Modus durch Drücken der
-Taste beendet werden.





bestellen





