Nächstes Kapitel: Sequentielle Datentypen: Listen und Strings
Ausdrücke und Operatoren
Definition
Unter einem Ausdruck in Python und in anderen Programmiersprachen versteht man eine Kombination aus Variablen, Konstanten, Operatoren und Rückgabewerten von Funktionen. Die Auswertung eines Ausdrucks ergibt einen Wert, der meistens einer Variablen zugewiesen wird. In Python werden Ausdrücke unter Verwendung der gebräuchlichen mathematischen Notationen und Symbolen für Operatoren geschrieben.
Operatoren
Die meisten Operatoren für Zahlenwerte sind in Python ähnlich zu anderen Programmiersprachen. Wir geben hier eine Übersicht, ohne sie vollständig zu erklären. Bei Bedarf werden diese Operatoren in anderen Kapitel besprochen.
Operator | Bezeichnung | Beispiel | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+, - | Addition, Subtraktion | 10 -3 | ||||||||||||||||||||||||
*, % | Multiplikation, Rest |
27 % 7 Ergebnis: 6 |
||||||||||||||||||||||||
/ |
Division
Die Division unterscheidet sich in Python3 von den Vorgängerversionen. Es wird nicht mehr eine Integer-Zahl sondern eine Float-Zahl als Ergebnis geliefert. |
Python3:
10 / 3 3.3333333333333335und in Python 2.x: 10 / 3 3 |
||||||||||||||||||||||||
// |
Truncation Division / Ganzzahldivision Das Ergebnis der Division ist der ganzzahlige Anteil der Division. Falls beide Operanden Integerwerte sind, stellt auch das Ergebnis einen Integerwert dar. Falls jedoch mindestens einer der Operanden ein Floatwert ist, so wird der ganzzahlige Anteil der Division als Float ausgegeben. |
10 // 3 3Eine Bemerkung zur Laufzeit: Die Ergebnisse von int(10 / 3) und 10 // 3 sind gleich. Aber die "//"-Division ist mehr als zweimal so schnell! You can see this here: In [9]: %%timeit for x in range(1, 100): y = int(100 / x) ...: 100000 loops, best of 3: 11.1 μs per loop In [10]: %%timeit for x in range(1, 100): y = 100 // x ....: 100000 loops, best of 3: 4.48 μs per loop
+x, -x
|
Vorzeichen |
-3
|
~x
|
Bitweises Not |
~3 - 4 |
Ergebnis: -8
**
|
Exponentiation
|
10 ** 3 |
Ergebnis: 1000
or, and, not
|
Boolsches Oder, Boolsches Und, Boolsches Nicht |
(a or b) and c
|
in
|
"Element von"
|
1 in [3, 2, 1]
|
<, <=, >, >=, !=, ==
|
Die üblichen Vergleichsoperatoren
|
2 <= 3
|
|, &, ^
|
Bitweises Oder, Bitweises Und, Bitweises XOR
|
6 ^ 3
|
<<, >>
|
Shiftoperatoren
|
6 << 3
|
|
Nächstes Kapitel: Sequentielle Datentypen: Listen und Strings