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.
|