basics michael poeltl © 2011-2013

Kontrollstrukturen

sind ein sehr sehr wichtiger Bestandteil des Programmierens überhaupt! Kontrollstrukturen helfen mir, den Programmfluss (Programmablauf) in geordnete Bahnen zu lenken:
Wenn die Fußgängerampel rot zeigt, dann bleibe stehen, ansonsten darfst du über die Straße gehen.
Man stellte also etwas zur Bedungung.
Genauso redet man in der jeweiligen Programmiersprache. Wenn das ist, dann tue jenes. Oder, Nimm aus dem Plastiksackerl (einzeln) Dinge heraus. Überprüfe, ob sie in Ordnung sind und gebe diese in die Schultasche. In diesem Fall haben wir die Aktion (Ding aus Sackerl raus und in die Schultasche rein), die solange durchgeführt wird, wie es Dinge im Plastiksackerl gibt. Es hört erst dann auf, wenn das Sackerl leer ist. Mit den Objekten, die nicht in Ordnung waren, kann man sich dann auch noch gesondert überlegen, was man damit tut.
Dies war ein Beispiel für eine Schleife, wie wir weiter unten noch hören werden.

Kontrollstrukturen sind sehr wichtig und zählen sicher zum A und O der Programmiererei. Das MUSS man einfach können!!!

Die if-Abfrage

Hier nun die erste Kontrollstruktur - if-elif-else.
Tue das nur, wenn das zutrifft oder jenes nicht zutrifft!

if <Bedingung>:
    pass
elif <oder diese Bedingung>:
    pass
else:
    pass

pass ist, wie true im shellscripting; tut nix, aber lässt es funktionieren, weil die Syntax richtig ist (ich nutze pass gerne dann, wenn ich beim scripten weiß, dass ich diese oder jene Funktion brauchen werde. Und wenn die Funktion da steht, kann man nicht drauf vergessen!
Dann schreibe ich die Funktions-Kopfzeile hin, und gib ihr ein pass). pass lässt sich aber auch bei vielen anderen Angelegenheiten gut einsetzen, wie eben beim Skizzieren von if-conditions. Es tut nix und ist eigentlich immer wahr.

Oben siehst Du einen Block aus mehreren Zeilen, wo manche Zeilen gleich weit eingerü;ckt sind.
Die Einrückung (indentation) ist ein WESENTLICHER Bestandteil des Erscheinungsbilds eines python-scripts. Und ich erkläre es auch gleich.

Einrücken betont die logische Struktur des Programms. Da diese Einrückung in python erzwungen ist (sonst gibt es eine IndentationError Exception), ist die gute/bessere Lesbarkeit von python-programmen automatisch gegeben.

Die if-Abfrage besteht für gewöhnlich aus einem Kopfteil und einem Bauchteil. Und übersetze Dir if mit wenn oder falls. Wenn das zutrifft, dann tue dieses und jenes (dieses und jenes ist dann der eingerückte Block unter der Zeile, die mit if beginnt.

if alter < 16:
    print ("Du darfst nicht rauchen")
    print ("muss um 22 Uhr zu Hause sein!")
    print ("Hat noch ncht die Matura gemacht.")

Der Block, der zur if-Abfrage gehört, wird durch code-Zeilen gebildet, die dieselbe Einrückungstiefe haben!
Es wird empfohlen (und ich tu's auch so), dass man mit 4 Leerzeichen einrückt (hab' im vim dementsprechend TAB präpariert).

Ausnahme mit der Bauchbildung unter der Kopfzeile ist ein Einzeiler im Bauch der if-Abfrage - wenn es nur ein Ausdruck ist, dann kannst den auch neben den Doppelpunkt schreiben, wenn Du willst.

if <Bedungung>: <eine Anweisung>

ABER
Laut Idiomatic python ist diese Schreibweise zu unterlassen, selbst wenn sie möglich wäre.

Nur wenn die Bedungung wahr ist, wird die Anweisung ausgeführt!
wahr => True

wann ist die Bedingung falsch?


Hier geht es zum Seitenanfang und da geht es zur python-Übersicht