5.1 Typ bool
In Python gibt es einen speziellen booleschen Datentyp, mit dem man die Wahrheit von Bedingungen und Ausdrücken überprüfen kann. Es wird durch das Schlüsselwort bool
(eigentlich heißt es Boolean) bezeichnet und wird verwendet, um einen von zwei Werten darzustellen: True (Wahr)
oder False (Falsch)
.

Dieser Datentyp ist extrem nützlich in der Programmierung, um den Ausführungsfluss einer Anwendung mittels bedingter Anweisungen wie if
, else
und elif
sowie zur Steuerung von Schleifen und anderen Kontrollstrukturen zu steuern.
Wichtiger Hinweis
Der boolesche Datentyp in Python ist durch zwei konstante Objekte dargestellt: True
und False
. Es ist jedoch wichtig zu beachten, dass Python True
als numerischen Wert 1 und False
als 0 betrachtet. Dies ermöglicht ihre Verwendung in arithmetischen Operationen und macht den Typ bool zu einer Unterklasse des Typs int.
Praktische Anwendung
Trotz der Tatsache, dass es nur zwei mögliche Werte gibt, liegt die Stärke des bool Typs
nicht in seinen Werten selbst, sondern in der Menge an logischen Operationen, die mit ihnen durchgeführt werden können. Mehr dazu weiter unten.
5.2 Logische Operatoren
Logische Operationen in Python spielen eine wichtige Rolle bei der Steuerung der Ausführungsreihenfolge von Programmen und der Entscheidungsfindung. Die Hauptlogischen Operationen umfassen and
, or
und not
. Das Verständnis ihrer Anwendung kann die Effizienz deines Codes erheblich verbessern.
Logisches UND (AND)
Der Operator and
gibt True
nur zurück, wenn beide seiner Argumente wahr sind (True)
. Dieser Operator wird häufig verwendet, um die Wahrheit mehrerer Bedingungen gleichzeitig zu prüfen.
a = True
b = False
print(a and b) # Gibt aus: False
Logisches ODER (OR)
Der Operator or
gibt True
zurück, wenn mindestens eines seiner Argumente wahr ist. Dies ist nützlich für Bedingungen, bei denen der Code ausgeführt werden soll, wenn mindestens eine von mehreren möglichen Bedingungen erfüllt ist.
a = True
b = False
print(a or b) # Gibt aus: True
Logisches NICHT (NOT)
Der Operator not
invertiert den booleschen Wert seines Arguments. Wenn das Argument True
ist, wird das Ergebnis False
sein und umgekehrt. Dies kann nützlich sein, um Negationsbedingungen zu erstellen.
a = True
print(not a) # Gibt aus: False
Erweiterte Nutzung
Logische Operatoren werden oft in Kombination verwendet, um komplexe Bedingungsausdrücke zu erstellen, die bei der Steuerung komplexerer Ausführungsströme helfen.
a = 5
b = 10
c = 20
result = a < b and b < c # Überprüft, ob a kleiner als b und b kleiner als c ist
print(result) # Gibt aus: True
Logische Operationen in Python bieten ein leistungsstarkes Instrument zur Steuerung des Verhaltens eines Programms basierend auf verschiedenen Bedingungen. Sie vereinfachen nicht nur das Schreiben von Code, sondern machen ihn auch lesbarer und pflegbarer.
5.3 Praktische Beispiele
Python erlaubt es, andere Datentypen mit der Funktion bool()
in den booleschen Typ zu konvertieren. Standardmäßig wird jeder nicht-null oder nicht-leeren Wert in True
umgewandelt, während null- oder leere Werte in False
umgewandelt werden.
Beispiele für Typkonvertierung:
print(bool(0)) # Gibt aus: False
print(bool(42)) # Gibt aus: True
print(bool("")) # Gibt aus: False
print(bool("Text")) # Gibt aus: True
Verwendung von booleschen Variablen in Bedingungen:
a = 5
b = 10
c = 20
is_a_min = a < b and a < c # Überprüft, dass a kleiner als b und a kleiner als c ist
print(is_a_min) # Gibt aus: True
Eine boolesche Variable muss nicht mit True
oder False
verglichen werden, da das Ergebnis des Vergleichs bereits True
oder False
ist. Ein Beispiel:
Startcode | Startcode in eine separate Variable ausgelagert | == True entfernt |
---|---|---|
|
|
|
Das Ergebnis jedes Vergleichs ist True
oder False
, daher kann es einer Variablen zugewiesen werden – wie im obigen Beispiel gezeigt. Aber in der Bedingung if
oder in Schleifen while
muss die boolesche Variable nicht mit True
verglichen werden. Die boolesche Variable enthält bereits den richtigen Wert. Gib ihr einfach einen passenden Namen, und alles wird klarer.
Mit anderen Worten, anstelle von «if a == True
:» sollte man einfach «if a
:» schreiben. Und anstelle von «if a == False
:» sollte man «if not a
:» schreiben.
GO TO FULL VERSION