EMZETT.
Login

Kurz: Operatoren verknüpfen Werte. Du kennst die Rechenzeichen schon aus dem letzten Kapitel; hier kommt der vollständige Überblick.

Teil des Kurses Python

Kapitel 7 von 44 im Kurs Python. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

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:

OperatorBedeutungBeispiel
==gleich5 == 5 → True
!=ungleich5 != 3 → True
<kleiner3 < 5 → True
>größer3 > 5 → False
<=kleiner oder gleich5 <= 5 → True
>=größer oder gleich4 >= 5 → False
alter = 17
print(alter >= 18)
print(alter != 18)
print(10 < alter < 20)    # verkettet: Python erlaubt das wie in der Mathematik

Ausgabe:

False
True
True

Achtung

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:

OperatorBedeutung
a and bwahr, wenn beide wahr sind
a or bwahr, wenn mindestens eine wahr ist
not akehrt wahr und falsch um
sonnig = True
warm = False
print(sonnig and warm)
print(sonnig or warm)
print(not warm)

Ausgabe:

False
True
True

Python 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
0

Zuweisungsoperatoren

KurzformEntspricht
x += 3x = x + 3
x -= 3x = x - 3
x *= 3x = x * 3
x /= 3x = x / 3
x //= 3x = x // 3
x %= 3x = x % 3
x **= 3x = x ** 3

Identität und Zugehörigkeit

  • is / is not prüft, ob zwei Namen auf dasselbe Objekt zeigen (nicht nur gleichen Inhalt haben).
  • in / not in prü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
True

Tipp

Vergleiche mit None immer mit is 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)    # 16

Ausgabe:

2
7
5
16

Rangfolge

Wie in der Mathematik gilt “Punkt vor Strich”. Von stark nach schwach bindend:

RangOperatoren
1**
2+x, -x, ~x (Vorzeichen)
3*, /, //, %
4+, -
5<<, >>
6&, ^, |
7Vergleiche, in, is
8not
9and
10or
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
True

Im Zweifel setzt du Klammern. Sie machen den Code auch für Menschen verständlicher.

Merke

  • Vergleiche liefern True oder False; == vergleicht, = weist zu
  • and, or, not verknüpfen Bedingungen und werten kurz aus
  • in prüft Enthaltensein, is prüft Objektidentität (is None fü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

Weiter im Kurs

Zurück: Zahlen und Rechnen

Weiter: Ein- und Ausgabe

Alle Kapitel: Python im Überblick