4.5 Logische Ausdrücke 

Es ist möglich, Zahlen miteinander zu vergleichen:
>>> 3 < 4 True
Hier wird getestet, ob 3 kleiner ist als 4. Auf solche Vergleiche antwortet der Interpreter mit einem Wahrheitswert, also mit True (dt. wahr) oder False (dt. falsch). Ein Vergleich wird mithilfe eines sogenannten Vergleichsoperators, in diesem Fall <, durchgeführt.
Die folgende Liste führt alle relevanten Vergleichsoperatoren auf:
| Vergleich | Bedeutung |
|
3 == 4 |
Ist 3 gleich 4? Beachten Sie das doppelte Gleichheitszeichen, das den Vergleich von einer Zuweisung unterscheidet. |
|
3 != 4 |
Ist 3 ungleich 4? |
|
3 < 4 |
Ist 3 kleiner als 4? |
|
3 > 4 |
Ist 3 größer als 4? |
|
3 <= 4 |
Ist 3 kleiner oder gleich 4? |
|
3 >= 4 |
Ist 3 größer oder gleich 4? |
Allgemein kann für 3 und 4 ein beliebiger arithmetischer Ausdruck eingesetzt werden. Wenn zwei arithmetische Ausdrücke durch einen der obigen Operatoren miteinander verglichen werden, so erzeugt man einen sogenannten logischen Ausdruck. Ein solcher könnte also auch folgendermaßen aussehen:
(a - 7) < (b * b + 6.5)
Neben den bereits eingeführten arithmetischen Operatoren gibt es drei logische Operatoren, mit denen das Ergebnis eines logischen Ausdrucks verändert oder zwei logische Ausdrücke miteinander verknüpft werden können.
Der Operator not kehrt das Ergebnis eines Vergleiches um, macht also aus True False und aus False True. Der Ausdruck not (3 < 4) wäre also das Gleiche wie 3 >= 4:
>>> not (3 < 4) False >>> not (4 < 3) True
Der Operator and bekommt zwei logische Ausdrücke als Operanden und ergibt nur dann True, wenn sowohl der erste Ausdruck als auch der zweite True ergeben haben. Er entspricht damit der umgangssprachlichen »Und«-Verknüpfung zweier Satzteile. Im Beispiel kann dies so aussehen:
>>> (3 < 4) and (5 < 6) True >>> (3 < 4) and (4 < 3) False
Der Operator or entspricht dem umgangssprachlichen »oder«. Er bekommt zwei logische Ausdrücke als Operanden und ergibt nur dann False, wenn sowohl der erste Ausdruck als auch der zweite False ergeben haben. Der Operator ergibt also True, wenn mindestens einer seiner Operanden True ergeben hat:
>>> (3 < 4) or (5 < 6) True >>> (3 < 4) or (4 < 3) True >>> (5 > 6) or (4 < 3) False
Wir haben der Einfachheit halber hier nur Zahlen miteinander verglichen. Selbstverständlich macht ein solcher Vergleich nur dann Sinn, wenn komplexere arithmetische Ausdrücke miteinander verglichen werden. Durch die vergleichenden Operatoren und die drei sogenannten booleschen Operatoren not, and und or können schon sehr komplexe Vergleiche erstellt werden.
Beachten Sie, dass bei allen Beispielen aus Gründen der Übersicht Klammern gesetzt wurden. Durch Prioritätsregelungen der Operatoren untereinander sind diese überflüssig. Das bedeutet, dass jedes hier vorgestellte Beispiel auch ohne Klammern wie erwartet funktionieren würde. Trotzdem ist es gerade am Anfang sehr sinnvoll, durch Klammerung die Zugehörigkeiten visuell eindeutig zu gestalten.




bestellen





