Lassen Sie uns einen kurzen Blick auf die Operatoren und ihre Verwendung werfen:
Die Ausdrücke aus den Beispielen können mit dem Interpreter interaktiv
ausgewertet werden. Um z.B. den Ausdruck 2 + 3 zu testen,
geben Sie folgendes in der Kommandozeile des Interpreters ein:
>>> 2 + 3 5 >>> 3 * 5 15 >>>
Tabelle 5.1. Operatoren und ihre Verwendung
| Operator | Name | Erklärung | Beispiele |
|---|---|---|---|
| + | Plus | Addiert bzw. verkettet die beiden Objekte |
3 + 5 ergibt 8.
'a' + 'b' ergibt 'ab'.
|
| - | Minus | Ergibt entweder eine negative Zahl, oder das Ergebnis einer Subtraktion zweier Zahlen |
-5.2 ergibt eine negative Zahl.
50 - 24 ergibt 26.
|
| * | Multiplikation | Multipliziert zwei Zahlen miteinander oder gibt eine mehrfache Wiederholung eines Strings (einer Sequenz) zurück. |
2 * 3 ergibt 6.
'la' * 3 ergibt 'lalala'.
|
| ** | Potenz | Gibt die Potenzierung x hoch y zurück |
3 ** 4 ergibt 81
(d.h. 3 * 3 * 3 * 3)
|
| / | Division | Dividiere x durch y |
4/3 ergibt 1 (die Division
von Ganzzahlen ergibt wieder eine Ganzzahl).
4.0/3 oder 4/3.0 ergibt
1.3333333333333333
|
| // | Ganzzahlige Division | Liefert das Ergebnis der ganzzahligen Division zurück |
4 // 3.0 ergibt 1.0
|
| % | Modulo | Liefert den Rest bei einer ganzzahligen Division zurück |
8%3 ergibt 2.
-25.5%2.25 ergibt 1.5 .
|
| << | Bitweises Linksschieben | Verschiebt das Bitmuster des linken Operanden um die angegebene Anzahl von Bit-Positionen nach links (jede Zahl wird im Speicher durch Bits, d.h. die Binärzeichen 0 und 1 repräsentiert). |
2 << 2 ergibt
8.
- 2 wird durch das Bitmuster
10 repräsentiert. Eine Verschiebung um 2 Bits
nach links ergibt 1000, was wiederum der
Dezimalzahl 8 entspricht.
|
| >> | Bitweises Rechtsschieben | Verschiebt das Bitmuster des linken Operanden um die angegebene Anzahl von Bit-Positionen nach rechts. |
11 >> 1 ergibt
5 -
11 wird durch das Bitmuster
1011 repräsentiert. Eine Verschiebung um 1 Bit
nach rechts ergibt 101, was wiederum der
Dezimalzahl 5 entspricht.
|
| & | Bitweises UND | Die Bitmuster der beiden Zahlen werden mit UND verknüpft. |
5 & 3 ergibt
1.
|
| | | Bitweises ODER | Die Bitmuster der beiden Zahlen werden mit ODER verknüpft |
5 | 3 ergibt 7
|
| ^ | Bitweises XOR | Die Bitmuster der beiden Zahlen werden mit XOR (exklusivem ODER) verknüpft |
5 ^ 3 ergibt 6
|
| ~ | Bitweises NICHT | Ergibt die bitweise Negation des Operanden. Dies wird auch als das Einerkomplement bezeichnet. Das Einerkomplement einer Zahl x ist gleich -(x+1). |
~5 ergibt -6.
|
| < | Kleiner als |
Das Ergebnis zeigt an, ob x kleiner als y ist.
Alle Vergleichsoperatoren liefern als Rückgabewert 1 für wahr und 0 für falsch.
Diese Werte entsprechen den speziellen logischen Konstanten
True bzw. False.
Beachten Sie die Großschreibung dieser Konstanten.
|
5 < 3 ergibt
0 (d.h. False) und
3 < 5 ergibt
1 (d.h. True).
Vergleiche können beliebig hintereinander geschaltet werden:
3 < 5 < 7 ergibt True.
|
| > | Größer als | Das Ergebnis zeigt an, ob x größer als y ist |
5 > 3 ist wahr, ergibt also
True. Falls beide Operanden Zahlen sind,
werden sie vor dem Vergleich zuerst in einen gemeinsamen Datentyp
umgewandelt. Andernfalls erhält man immer False.
|
| <= | Kleiner gleich | Das Ergebnis zeigt an, ob x kleiner als oder gleich y ist |
x = 3; y = 6; x <= y
ergibt True.
|
| >= | Größer gleich | Das Ergebnis zeigt an, ob x größer als oder gleich y ist |
x = 4; y = 3; x >= 3 ergibt True.
|
| == | Gleichheit | Prüft die beiden Objekte auf Gleichheit |
x = 2; y = 2; x == y ergibt True.
x = 'str'; y = 'stR'; x == y ergibt False.
x = 'str'; y = 'str'; x == y ergibt True.
|
| != | Ungleichheit | Prüft die beiden Objekte auf Ungleichheit |
x = 2; y = 3; x != y ergibt True.
|
| not | Logisches NICHT |
Bewirkt eine Invertierung des Wahrheitswertes: Wenn x True
ist, ist das Ergebnis False. Wenn x False
ist, ist das Ergebnis True.
|
x = True; not x ergibt False.
|
| and | Logisches UND |
x and y ergibt x, wenn
x als Wahrheitswert interpretiert gleich False ist.
Andernfalls ist das Ergebnis der Wert von of y.
Das Ergebnis entspricht daher einer logischen UND-Verknüpfung.
|
x = False; y = True; x and y ergibt
False, da x False ist.
In diesem Fall wird der Python-Interpreter die Variable y
gar nicht erst in die Auswertung mit einbeziehen, da der Ausdruck
bereits falsch ist (da x False ist).
Dies wird eine "Kurzschlussauswertung" genannt: Sie liefert das
richtige Ergebnis, ohne dass y ausgewertet werden muss
(bedenken Sie, dass an der Stelle von y auch ein sehr komplizierter
Ausdruck stehen kann, dessen Berechnung lange Zeit in Anspruch nehmen würde oder
zu einem Fehler führen könnte - durch die verkürzte Auswertung wird dies vermieden).
So liefert z.B. 0 and 1/0 den Wert 0 zurück, da die Zahl 0
dem Wahrheitswert False entspricht. Der Ausdruck
1/0 wird in diesem Fall nicht ausgewertet und führt daher
auch nicht zu einer Fehlermeldung.
|
| or | Logisches ODER |
x or y ergibt x, wenn
x als Wahrheitswert interpretiert gleich True ist.
Andernfalls ist das Ergebnis der Wert von y.
Das Ergebnis entspricht daher einer logischen ODER-Verknüpfung.
|
x = True; y = False; x or y ergibt True.
Hier wird ebenfalls das Prinzip der Kurzschlussauswertung verwendet.
So liefert z.B. 3 and 1/0 ohne Fehlermeldung den Wert 123
zurück, da die Zahl 3 dem Wahrheitswert True entspricht.
Die Auswertung von 3/4 and 1/0 führt jedoch zu einer Fehlermeldung,
da die Division der Ganzzahlen den Wert 0 ergibt, was logisch gleich False ist.
|