Skip to main content

Boolsche Ausdrücke, Vergleichsoperatoren und der Datentyp boolean

Neben Ausdrücken deren Wert eine Zahl oder ein Text ist, können wir auch Ausdrücke schreiben, die einen Wahrheitswert (also Wahr oder Falsch) ergeben. Diese werden als boolsche Ausdrücke bezeichnet. Genau wie mit Zahlen können wir auch diese Werte in Variablen speichern, und mithilfe von Operatoren zu komplexen Ausdrücken zusammensetzen.

Im folgenden Video werden diese Ausdrücke im Detail besprochen.

Übersicht der Vergleichsoperatoren und der logischen Operatoren

In der nachfolgenden Tabelle finden Sie alle in Python verfügbaren Vergleichsoperatoren.

OperatorErklärung
==Vergleich auf Gleichheit
!=Vergleich auf Ungleichheit
>Grösser als
>=Grösser oder gleich
<Kleiner als
<=Kleiner oder gleich

Die wichtigsten logischen Operatoren in Python sind or, and und not. Diese verhalten sich gemäss der folgenden Wahrheitstabelle.

b1b2b1 or b2b1 and b2not b1
FalseFalseFalseFalseTrue
FalseTrueTrueFalseTrue
TrueFalseTrueFalseFalse
TrueTrueTrueTrueFalse

Rangfolge der Operatoren (Operatorenpräzedenz)

Aus der Mathematik kennen wir die Punkt vor Strich regel, die besagt, dass Multiplikation und Division jeweils for Addition und Subtraktion ausgeführt wird. Ähnliche Regeln gelten auch für logische Operatoren. Der not Operator wird dabei immer als erster ausgeführt, danach die and und am Schluss folgt die Auswertung von or. Wenn Sie eine andere Auswertungsreihenfolge möchten, können Sie diese durch entsprechende Klammersetzung erzwingen. Wenn Sie komplexere Ausdrücke schreiben sollten Sie in jedem Fall immer entsprechend Klammern setzen. Damit helfen Sie dem Leser des Codes den Ausdruck zu verstehen, ohne dass dieser auch noch alle Präzedenzregeln im Kopf haben muss.

Experimentieren Sie doch gleich selbst damit. Testen Sie insbesonders die nachfolgende Aspekte aus.

Experimente

  • Können Sie statt b = (5 > 3) auch b = 5 > 3 schreiben?
    • Ergibt es denselben Wert?
    • Was ist der Nachteil?
  • Was ist der Typ eines Wahrheitswerts in Python? Also der Typ der vom Befehl typeausgegeben wird (type wurde in Typen der Woche 1 eingeführt).
  • Definieren Sie eine Variable und weisen dieser einen Wert zu. Schreiben Sie dann einen Ausdruck, der True zurückgibt wenn der Wert der Variablen grösser als 0 ist und kleiner als 99. Testen Sie Ihren Ausdruck für verschiedene Werte der Variablen.
  • Definieren Sie einen komplexen boolschen Ausdruck wie not a or b and b or a und studieren Sie anhand von diesem die Präzedenzregeln. Setzen Sie die richtigen Klammern, so dass deutlicher wird was passiert.

Fragen und Kommentare

Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forum und helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.