In der Programmierung muss ein Computer ständig Entscheidungen treffen. Jede Entscheidung basiert auf einer Frage, die nur zwei mögliche Antworten hat: wahr oder falsch. Diese Werte nennen wir boolesche Werte — benannt nach dem Mathematiker George Boole.
Der Boolesche Datentyp
In Python gibt es den Datentyp bool mit genau zwei möglichen Werten:
ist_regen = True
sonne_scheint = False
print(type(ist_regen)) # <class 'bool'>
In Python werden True und False mit großem Anfangsbuchstaben geschrieben. true oder TRUE sind keine gültigen booleschen Werte — Python unterscheidet zwischen Groß- und Kleinschreibung.
Vergleiche ergeben boolesche Werte
Jeder Vergleich in Python gibt True oder False zurück:
print(5 > 3) # True
print(5 < 3) # False
print(5 == 5) # True
print(5 != 5) # False
print(10 >= 10) # True
print(7 <= 6) # False
Diese Ausdrücke können direkt in If-Anweisungen verwendet werden:
temperatur = 22
if temperatur > 20:
print("Es ist warm.")
Boolesche Werte von anderen Typen
In Python hat fast jeder Wert einen booleschen Wahrheitswert:
print(bool(0)) # False (Null ist falsch)
print(bool(1)) # True (jede andere Zahl ist wahr)
print(bool("")) # False (leerer Text ist falsch)
print(bool("hallo")) # True (nicht-leerer Text ist wahr)
print(bool([])) # False (leere Liste ist falsch)
print(bool([1, 2])) # True (nicht-leere Liste ist wahr)
Diese Eigenschaft macht manchen Code kürzer: Statt if len(liste) > 0: kannst du einfach if liste: schreiben — das ist wahr, solange die Liste mindestens ein Element enthält.
Boolesche Ausdrücke in Variablen speichern
Du kannst das Ergebnis eines Vergleichs in einer Variablen speichern:
alter = 16
darf_fahren = alter >= 18
print(darf_fahren) # False
punkte = 75
bestanden = punkte >= 60
print(bestanden) # True
if bestanden:
print("Herzlichen Glückwunsch!")
Vergleich von Texten
Texte können ebenfalls verglichen werden. Python vergleicht sie alphabetisch:
print("Apfel" == "Apfel") # True
print("Apfel" == "apfel") # False (Groß-/Kleinschreibung!)
print("Banane" > "Apfel") # True (B kommt nach A)
Beim Vergleich von Texten spielt Groß- und Kleinschreibung eine Rolle. "Anna" == "anna" ist False. Um Texte unabhängig von der Schreibweise zu vergleichen, verwende .lower(): "Anna".lower() == "anna".lower() ist True.
Praktisches Beispiel
alter = int(input("Wie alt bist du? "))
hat_ticket = input("Hast du ein Ticket? (ja/nein): ").lower() == "ja"
ist_krank = False
darf_eintreten = alter >= 6 and hat_ticket and not ist_krank
if darf_eintreten:
print("Willkommen!")
else:
print("Zutritt nicht möglich.")
Übungsaufgaben
Was ist der Unterschied zwischen = und == in Python?
Antwort anzeigen
Was gibt bool('') und bool('0') in Python aus? Erkläre warum.