Kurz: Operatoren verknüpfen Werte. Du kennst die Rechenzeichen schon aus dem letzten Kapitel; hier kommt der vollständige Überblick.
Teil des Kurses Python
Operatoren verknüpfen Werte. Du kennst die Rechenzeichen schon aus dem letzten Kapitel; hier kommt der vollständige Überblick.
Vergleichsoperatoren
Sie liefern immer True oder False:
| Operator | Bedeutung | Beispiel |
|---|---|---|
== | gleich | 5 == 5 → True |
!= | ungleich | 5 != 3 → True |
< | kleiner | 3 < 5 → True |
> | größer | 3 > 5 → False |
<= | kleiner oder gleich | 5 <= 5 → True |
>= | größer oder gleich | 4 >= 5 → False |
alter = 17
print(alter >= 18)
print(alter != 18)
print(10 < alter < 20) # verkettet: Python erlaubt das wie in der MathematikAusgabe:
False
True
TrueAchtung
Ein einzelnes
=ist die Zuweisung,==ist der Vergleich. Die Verwechslung ist ein klassischer Anfängerfehler.
Logische Operatoren
Mit and, or und not verknüpfst du Bedingungen:
| Operator | Bedeutung |
|---|---|
a and b | wahr, wenn beide wahr sind |
a or b | wahr, wenn mindestens eine wahr ist |
not a | kehrt wahr und falsch um |
sonnig = True
warm = False
print(sonnig and warm)
print(sonnig or warm)
print(not warm)Ausgabe:
False
True
TruePython wertet kurz aus: Bei a and b wird b nur geprüft, wenn a wahr ist. Das nutzt man gern für Standardwerte:
name = ""
print(name or "Gast")
print(0 and "nie gesehen")Ausgabe:
Gast
0Zuweisungsoperatoren
| Kurzform | Entspricht |
|---|---|
x += 3 | x = x + 3 |
x -= 3 | x = x - 3 |
x *= 3 | x = x * 3 |
x /= 3 | x = x / 3 |
x //= 3 | x = x // 3 |
x %= 3 | x = x % 3 |
x **= 3 | x = x ** 3 |
Identität und Zugehörigkeit
is/is notprüft, ob zwei Namen auf dasselbe Objekt zeigen (nicht nur gleichen Inhalt haben).in/not inprüft, ob etwas in einer Sammlung oder einem Text enthalten ist.
a = [1, 2]
b = [1, 2]
print(a == b) # gleicher Inhalt
print(a is b) # aber zwei verschiedene Objekte
print(3 in [1, 2, 3])
print("ell" in "Hallo")
print(None is None)Ausgabe:
True
False
True
False
TrueTipp
Vergleiche mit
Noneimmer mitis None, nicht mit== None.
Bit-Operatoren
Für Zahlen auf Bit-Ebene gibt es & (und), | (oder), ^ (exklusiv-oder), ~ (Umkehrung), << und >> (Verschieben). Du brauchst sie selten, zum Beispiel bei Flags oder Netzwerkmasken:
print(6 & 3) # 110 & 011 = 010
print(6 | 3) # 111
print(6 ^ 3) # 101
print(1 << 4) # 16Ausgabe:
2
7
5
16Rangfolge
Wie in der Mathematik gilt “Punkt vor Strich”. Von stark nach schwach bindend:
| Rang | Operatoren |
|---|---|
| 1 | ** |
| 2 | +x, -x, ~x (Vorzeichen) |
| 3 | *, /, //, % |
| 4 | +, - |
| 5 | <<, >> |
| 6 | &, ^, | |
| 7 | Vergleiche, in, is |
| 8 | not |
| 9 | and |
| 10 | or |
print(2 + 3 * 4)
print((2 + 3) * 4)
print(2 ** 3 ** 2) # rechts zuerst: 2 ** 9
print(not True or True)Ausgabe:
14
20
512
TrueIm Zweifel setzt du Klammern. Sie machen den Code auch für Menschen verständlicher.
Merke
- Vergleiche liefern
TrueoderFalse;==vergleicht,=weist zu and,or,notverknüpfen Bedingungen und werten kurz ausinprüft Enthaltensein,isprüft Objektidentität (is Nonefür None)- Kurzformen wie
+=sparen Schreibarbeit - Klammern machen die Rangfolge eindeutig
Übungsaufgabe
Schreibe einen Ausdruck, der True ergibt, wenn eine Zahl z zwischen 10 und 20 (einschließlich) liegt und gerade ist.
Quiz zur Selbstkontrolle
Was ergibt 2 + 3 * 4?
- 14 (richtig)
- 20
- 24
- 10
Was prüft der Operator is?
- Ob zwei Namen auf dasselbe Objekt zeigen (richtig)
- Ob zwei Werte gleich groß sind
- Ob ein Wert in einer Liste steht
- Ob ein Wert eine Zahl ist
Was gibt print("" or "Gast") aus?
- Gast (richtig)
- Einen leeren Text
- True
- Einen Fehler
Weiter im Kurs
Zurück: Zahlen und Rechnen
Weiter: Ein- und Ausgabe
Alle Kapitel: Python im Überblick