Der Kleiner-Operator in Python
Der Operator »<« ergibt, ob der Wert des linken Operanden vor dem Wert des rechten Operanden liegt. Bei Zahlen bedeutet der Operator »<«, ob der Wert des linken Operanden kleiner als der Wert des rechten Operanden ist.
- Protokoll
1 < 2
True
- Protokoll
2 < 1
False
- Protokoll
1 < 1
False
Beim Vergleich von Wahrheitswerten werden diese als Zahlenwerte interpretiert, wie bei Anwendung des aufrufbaren Objekts »int«.
- Protokoll
False < True
True
Zeichenfolgen werden lexikographisch verglichen.
- Protokoll
'ab' < 'abc'
True
- Protokoll
'abc' < 'def'
True
Ein Vergleich zwischen Zeichenfolgen und Zahlen ist nicht direkt möglich
- Protokoll (verkürzt und frei übersetzt)
'abc' < 2
Typfehler: '<' erlaubt keinen Vergleich zwischen str- und int-Werten
Die Einordnung der Umlaute entspricht nicht den deutschen Gepflogenheiten.
- Protokoll
'z' < 'ä'
True
Kaskadierte Vergleiche
»8 < 6 < 4« bedeutet „»8 < 6« und »6 < 4«“.
Auf diese Weise ist es mögliche, zwei Vergleiche in einer Kurzschreibweise zu kombinieren.
Allerdings wird dies durch eine Abweichung der sonst üblichen Regeln zur Kombination von Operatoren erkauft, da die Vergleichsoperatoren damit weder linksassoziativ noch rechtsassoziativ sind, denn »8 < 6 < 4« bedeutet weder »( 8 < 6 )< 4« noch »8 <( 6 < 4 )«!
Bei mehreren Operanden in der Form »a < b < c «, »a < b < c < d « und so weiter, müssen alle Aussagen jeweils paarweise wahr sein. »8 < 6 < 4« bedeutet also, daß »8 < 6« und »6 < 4«.
- Protokoll
8 < 6 < 4
False
Bei dieser Form wird jeder Operand höchstens einmal ausgewertet. Jedoch werden Operanden nicht mehr ausgewertet, wenn das Ergebnis schon feststeht.
Diese Form der Kaskadierung von Operatoren ist für alle binären Operatoren erlaubt, die einen Wahrheitswert ergeben, nicht nur für »<«.
Syntaktische Eigenschaften
- Eigenschaften von Operatoren – Operatoren höherer Priorität stehen weiter oben
S P A (S = Stelligkeit, P = Infix-/Präfix-, A = Assoz.)
() 1 Z Eingeklammerter Ausdruck
** 2 I R Potenzieren
+ - 1 P Unaere vorangestellte Operatoren (Vorzeichen)
* / 2 I L "Punktrechnung": Multiplikation, Division
+ - 2 I L "Strichrechnung": Addition, Subtraktion
== is != < 2 I Vergleich
Eingeklammerte Vergleiche ⃗
»( 8 < 6 )< 4« bedeutet hingegen dasselbe wie »( 8 < 6 ) * 1 < 4«, da hier der Zahlenwert des Wahrheitswertes der Klammer mit der Zahl »4« verglichen wird.
- Protokoll
( 8 < 6 )< 4
True