Das Verständnis des `or` Operators in Python
Takashi Yamamoto
Infrastructure Engineer · Leapcell

Key Takeaways
- Der
or
Operator gibtTrue
zurück, wenn mindestens eine Bedingung wahr ist. - Er verwendet Short-Circuit-Evaluation und überspringt die zweite Bedingung, wenn die erste
True
ist. - Bei nicht-booleschen Werten gibt
or
den ersten "truthy"-Wert oder den letzten "falsy"-Wert zurück.
In Python ist der or
Operator ein logischer Operator, der verwendet wird, um zwei Bedingungen zu kombinieren. Er gibt True
zurück, wenn mindestens eine der Bedingungen wahr ist; andernfalls gibt er False
zurück. Dieses Verhalten ist grundlegend, um den Ablauf von Programmen zu steuern und Entscheidungen basierend auf mehreren Bedingungen zu treffen.
Grundlegende Verwendung des or
Operators
Die Syntax für die Verwendung des or
Operators ist unkompliziert:
condition1 or condition2
Hier sind condition1
und condition2
Ausdrücke, die entweder zu True
oder False
ausgewertet werden. Der or
Operator wertet diese Bedingungen aus und gibt True
zurück, wenn mindestens eine davon True
ist. Wenn beide False
sind, gibt er False
zurück.
Beispiel:
x = 10 y = 5 if x > 5 or y > 10: print("Mindestens eine Bedingung ist True") else: print("Beide Bedingungen sind False")
In diesem Beispiel ist die erste Bedingung x > 5
True
, und die zweite Bedingung y > 10
ist False
. Da eine der Bedingungen True
ist, gibt der or
Operator True
zurück, und die Ausgabe wird sein:
Mindestens eine Bedingung ist True
Short-Circuit-Evaluation
Pythons or
Operator verwendet eine Technik namens Short-Circuit-Evaluation (Kurzschlussauswertung). Dies bedeutet, dass die Auswertung stoppt, sobald das Ergebnis feststeht. Wenn die erste Bedingung True
ist, wertet Python die zweite Bedingung nicht aus, da das Gesamtergebnis definitiv True
sein wird.
Beispiel:
def check_first(): print("Überprüfe erste Bedingung") return True def check_second(): print("Überprüfe zweite Bedingung") return False if check_first() or check_second(): print("Mindestens eine Bedingung ist True")
Ausgabe:
Überprüfe erste Bedingung
Mindestens eine Bedingung ist True
In diesem Beispiel gibt check_first()
True
zurück, sodass check_second()
nie aufgerufen wird, was die Short-Circuit-Evaluation demonstriert.
Verwenden von or
mit nicht-booleschen Werten
In Python kann der or
Operator auch mit nicht-booleschen Werten verwendet werden. Er gibt den ersten "truthy"-Wert zurück, den er findet, oder den letzten Wert, wenn keiner "truthy" ist. Ein Wert gilt als "truthy", wenn er in einem booleschen Kontext zu True
ausgewertet wird.
Beispiel:
a = '' b = 'Hallo' result = a or b print(result) # Gibt aus: Hallo
Hier ist a
ein leerer String, der "falsy" ist, und b
ist ein nicht-leerer String, der "truthy" ist. Der or
Operator gibt b
zurück, da a
"falsy" ist.
Dieses Verhalten ist besonders nützlich, um Standardwerte festzulegen.
Beispiel:
user_input = '' default_value = 'Standard' final_value = user_input or default_value print(final_value) # Gibt aus: Standard
In diesem Fall wird final_value
der default_value
zugewiesen, da user_input
ein leerer String (falsy) ist.
Häufige Fallstricke
Obwohl der or
Operator leistungsstark ist, ist es wichtig, sich seines Verhaltens bewusst zu sein, um häufige Fallstricke zu vermeiden. Ein solcher Fallstrick ist die Annahme, dass or
immer einen booleschen Wert zurückgibt. Wie bereits erwähnt, gibt or
, wenn er mit nicht-booleschen Werten verwendet wird, den ersten "truthy"-Wert oder den letzten Wert zurück, wenn keiner "truthy" ist.
Beispiel:
result = 0 or 'Keine Daten' print(result) # Gibt aus: Keine Daten
Hier ist 0
"falsy", also gibt der or
Operator 'Keine Daten'
zurück, was ein String und kein boolescher Wert ist.
Das Verständnis des Verhaltens des or
Operators mit verschiedenen Datentypen und seiner Short-Circuit-Evaluation ist entscheidend für das Schreiben von effizientem und fehlerfreiem Python-Code.
FAQs
Nein, wenn er mit nicht-booleschen Werten verwendet wird, gibt er den ersten "truthy" oder letzten "falsy" Wert zurück.
Es stoppt die Auswertung von Bedingungen, sobald das Ergebnis bekannt ist, und überspringt oft die zweite Bedingung, wenn die erste wahr ist.
Wenn der erste Wert "falsy" ist, gibt or
den zweiten Wert zurück, was ihn nützlich für Fallbacks macht.
Wir sind Leapcell, Ihre erste Wahl für das Hosten von Python-Projekten.
Leapcell ist die Next-Gen Serverless Plattform für Web Hosting, Async Tasks und Redis:
Multi-Language Support
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 $ unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und Protokollierung für verwertbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein operativer Aufwand – konzentrieren Sie sich einfach auf den Aufbau.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ