A Byte of Python

Operatoren

Lassen Sie uns einen kurzen Blick auf die Operatoren und ihre Verwendung werfen:

Tipp

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

OperatorNameErklärungBeispiele
+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.
notLogisches 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.
andLogisches 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.
orLogisches 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.