Kapitel 5
Kontrollstrukturen
128
5.2.5 Hinweis zum Programmierstil
Logische Operatoren haben bei Python eine schwächere Bindung als Vergleichsoperatoren.
Damit kann man häufig auf Klammern verzichten. Dennoch: Klammern verbessern die
Lesbarkeit komplexer logischer Ausdrücke. Die Operanden eines logischen Operators wer-
den deutlicher herausgestellt und etwaige logische Fehler leichter erkennbar.
5.3 Programmverzweigungen (bedingte Anweisungen)
Bei einer Programmverzweigung wird eine einzelne Anweisung oder eine zusammenhän-
gende Folge von Anweisungen in Abhängigkeit von einer Bedingung ausgeführt.
Verzweigungen werden durch
if-Anweisungen realisiert. Eine if-Anweisung ist eine zu-
sammengesetzte Anweisung, die normalerweise über mehrere Zeilen geht. Ihre Syntax
wird durch folgende (leicht vereinfachte) Grammatik-Regel definiert:
Die Regel besagt Folgendes:
Eine if-Anweisung beginnt immer mit dem Schlüsselwort if, gefolgt von einer Bedin-
gung, einem Doppelpunkt und einem Anweisungsblock (
if-Klausel). Das ergibt sich
aus der ersten Zeile der rechten Seite der Regel.
Danach folgen beliebig viele (eventuell auch gar keine) elif-Klauseln, die mit dem
Schlüsselwort
elif beginnen.
Zum Schluss kann optional höchstens eine else-Klausel enthalten sein.
Die verschiedenen Formen von Programmverzweigungen, die man mit
if-Anweisungen
konstruieren kann, werden nun der Reihe nach beschrieben.
Umgangssprachlich formulierte Bedingung Logischer Ausdruck
Bedingung für ermäßigten Eintritt in den Zoo:
Die Person ist höchstens 12 oder mindestens
65 Jahre alt.
(alter <= 12) or (alter >= 65)
not (12 < alter < 65)
Der Stoff ist nicht brennbar und geht im
Wasser unter.
not brennbar and (dichte > 1)
Tabelle 5.7: Formalisierung umgangssprachlich formulierter Bedingungen
Wichtig
Statt a < b or c > d schreibt man besser (a < b) or (c > d).
Statt
not a > b schreibt man besser not (a > b).
if_anweisung ::= "if" bedingung ":" anweisungsblock
( "elif" bedingung ":" anweisungsblock )*
["else" ":" anweisungsblock]

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.