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.
Operator | Erklä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.
b1 | b2 | b1 or b2 | b1 and b2 | not b1 |
---|---|---|---|---|
False | False | False | False | True |
False | True | True | False | True |
True | False | True | False | False |
True | True | True | True | False |
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)
auchb = 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
type
ausgegeben 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.