Erklärung zur Lektion
Nach dieser Lektion kannst du:
False, None, Null, leerer Text und nicht leere Werte als wahr oder falsch gelten.not verwenden, um auf Vorhandensein oder Leere zu prüfen.bool() explizit untersuchen.0 von tatsächlich fehlenden Daten trennen.Python-Bedingungen verlangen nicht, dass ein Wert buchstäblich True oder False ist. Viele Werte haben einen impliziten Wahrheitswert.
Typische Falsy-Werte (Werte, die als falsch gelten) sind:
False
None
0
0.0
""Die meisten anderen Werte gelten als Truthy (als wahr), darunter nicht leere Strings und Zahlen ungleich null.
Das macht direkte Prüfungen knapp:
if api_token:
print("Token available")Verwende not, wenn du den Pfad für leere oder fehlende Werte behandeln willst:
if not api_token:
print("Token missing")Mit bool(value) kannst du den Wahrheitswert direkt untersuchen. Die direkte Prüfung auf Truthiness ist jedoch nicht immer der richtige Test. Wenn 0 ein gültiger konfigurierter Wert ist, würde if not retry_limit: ihn genauso behandeln wie None. Prüfe in diesem Fall gezielt mit is None auf fehlende Daten.
Ein leerer String ist Falsy, deshalb wird der Auffangzweig ausgeführt.
release_note = ""
if release_note:
print("Note ready")
else:
print("No release note")Ausgabe:
No release notenot für den Pfad bei leeren Werten verwendennot kehrt den Wahrheitswert um.
api_token = ""
if not api_token:
print("Authentication unavailable")Ausgabe:
Authentication unavailablebool() untersuchenbool() macht sichtbar, wie Python einen Wert interpretiert.
print(bool(0))
print(bool(""))
print(bool("worker"))
print(bool(3))Ausgabe:
False
False
True
TrueEin Timeout von null kann beabsichtigt sein, während None bedeutet, dass kein Wert angegeben wurde.
timeout_seconds = 0
if timeout_seconds is None:
print("Timeout: default")
else:
print(f"Timeout: {timeout_seconds}")Ausgabe:
Timeout: 0| Wert | Wahrheitswert |
|---|---|
False, None | Falsy |
0, 0.0 | Falsy |
"" | Falsy |
| Nicht leerer Text | Truthy |
| Die meisten Zahlen ungleich null | Truthy |
is None-Prüfung nicht durch eine grobe Falsy-Prüfung, wenn der Unterschied wichtig ist."False" nicht mit dem booleschen Wert False; nicht leerer Text ist Truthy.