Ein Script- oder Programmcode, der durch Leerzeilen, den sinnvollen Einsatz von Kommentaren
und Einrückungen gut formatiert ist, verbessert in jeder Script- und Programmiersprache die Lesebarkeit, zumindest
für den Menschen und Programmierer, der den Code betrachtet. Den Interpretern, Compilern oder Parsern ist es hingegen
gleich, so lange öffnende und schließende Klammern richtig gesetzt wurden und Semikolons das Ende von Codezeilen
anzeigen.
Anders in Python. In Python gehören Einrückungen mit zur Syntax und dienen der Strukturierung, dafür entfallen z.B.
bei Anweisungsblöcken die in anderen Programmiersprachen üblichen geschweiften Klammern. Für Einsteiger bringt das
den Vorteil mit, ob sie wollen oder nicht, sie müssen sich an einen gut strukturierten Programmierstil gewöhnen.
Einrückungen sollten dabei vorzugsweise nicht durch Tabs, sondern durch vier Leerzeichen erfolgen.
Hinweis: Die auf dieser Seite verwendeten Codeschnipsel dienen nur der Veranschaulichung und
sollen keinen Zweck erfüllen. Zu dieser Veranschaulichung der Syntax gehört der Doppelpunkt: mit dem in Python
alle Anweisungsköpfe von Statements, Schleifen, selbstdefinierten Funktionen, Klassen und Methoden enden, bevor
der Rumpf mit dem Anweisungsblock folgt, welcher in Python Suite genannt wird.
Beispiel für Einrückungen:
name = "Jane" if name == "Jane": print("Anweisung falls name gleich Jane") else: print("Anweisung falls nicht name gleich Jane")
Wurde einmal bei Einrückungen mit vier Leerzeichen begonnen, sollten alle verschachtelten Anweisungen und Blöcke mit der gleichen Anzahl von Leerzeichen eingerückt werden. Wobei anzumerken ist, dass Python recht tolerant reagiert, so dass weniger die Anzahl der Leerzeichen von Bedeutung ist, als vielmehr eine einheitliche Anzahl von Leerzeichen pro Block und besser noch für den gesamten Code. So reagierte im zweiten Beispiel Python erst mit einer Fehlermeldung, als die Einrückungen teilweise völlig entfernt wurden.
Beispiel für Einrückungen bei verschachtelten Statements und Suiten:
def pruefe_namen(nachname, vorname): if nachname == "Doe": if vorname == "Jane": return "Hallo Jane Doe!" elif vorname == "John": return "Hallo John Doe!." else: return "Wie lautet Ihr Vorname?" else: return "Wer sind Sie?" print(pruefe_namen("Doe", "John"))
Wer immer mit vier Leerzeichen als Standard arbeitet, wird eine Fehlermeldung wie
"expected an indented block"
wohl nur selten erhalten und falls doch, so eine unkorrekte Einrückung als Fehlerquelle schnell
erkennen und beseitigen können.
Fehlermeldung bei fehlender Einrückung
Kommentare sollten in keinem Script fehlen, es sei denn es handelt sich um ein Script, welches so einfach ist, dass es unter sich selbsterklärend abgelegt werden kann. Kommentare sollten nicht ausschweifend sein, dennoch lang genug, damit zumindest ein Programmierer nach Monaten aus diesen selbst noch entnehmen zu kann, warum er z.B. eine Funktion so und nicht anders schrieb. Kommentare beginnen mit einer Raute # und auch hinter Codezeilen notiert werden.
Beispiel 3:
# Ein kurzer Kommentar. Oder ein längerer Kommentar, der sich über
# zwei Zeilen erstreckt.
print("Gebe etwas aus") # Erwartetes Ergebnis
Bezeichner von Variablen, selbstdefinierten Funktionen, Klassen und Methoden dürfen, im
Unterschied zu den Bezeichnern in PHP oder JavaScript, nicht mit einem $-Zeichen oder anderen Sonderzeichen beginnen.
Erlaubt sind lediglich Buchstaben oder ein Unterstrich als erstes Zeichen, gefolgt von weiteren Buchstaben, Ziffern
und Unterstrichen. Da Unterstriche zu Beginn eines Bezeichners noch eine zusätzliche Bedeutung besitzen, sollten
diese entsprechend ihrer Bedeutung verwendet werden.
Weiterhin dürfen keine von Python reservierten Schlüsselwörter als Bezeichner benutzt werden. Welche das sind,
können Sie nachfolgender Tabelle entnehmen. Zusätzlich sollte geprüft werden, ob gleichnamige Bezeichner nicht
möglicherweise mit dem einen oder anderen Modul importiert werden.
Reservierte Schlüsselwörter in Python 3:
and | finally | or |
as | for | pass |
assert | from | raise |
break | global | return |
class | if | try |
continue | import | while |
def | in | with |
del | is | yield |
elif | lambda | False |
else | nonlocal | None |
except | not | True |
Weitere Hinweise, insofern hilfreich oder erforderlich, werden bei den einzelnen Beispielen gegeben.
Einstieg in Python
OOP mit Python
Codes & Tutorials
Kleines Projekt