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

Key Takeaways
- Der
orOperator gibtTruezurück, wenn mindestens eine Bedingung wahr ist. - Er verwendet Short-Circuit-Evaluation und überspringt die zweite Bedingung, wenn die erste
Trueist. - Bei nicht-booleschen Werten gibt
orden 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



