Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operatoren

1 Vergleichsoperatoren

AusdruckBedeutung
a == ba ist gleich b
a != ba ist ungleich b
a < ba ist kleiner als b
a > ba ist größer als b
a <= ba ist kleiner oder gleich b
a >= ba ist größer oder gleich b

2 Arithmetische Operatoren

AusdruckBedeutung
a + ba wird zu b addiert
a - bb wird von a subtrahiert
a / ba wird durch b geteilt
a // bGanzzahldivision von a durch b
a % bRest von a durch b
a * ba wird mit b multipliziert
a ** ba hoch b (Potenz)

3 Bitweise Operatoren

AusdruckBedeutung
a & bBitweises AND
a || bBitweises OR
a ^ bBitweises XOR
~aBitweises NOT (Eins-Komplement)
a << bBitweise Linksverschiebung
a >> bBitweise Rechtsverschiebung

4 Logische Operatoren

AusdruckBedeutung
a and bBeide sind wahr (AND)
a or bEiner ist wahr (OR)
not aa ist falsch (NOT)

5 Zusammengesetzte Zuweisungsoperatoren

AusdruckBedeutungBeispiel
a += bWert addieren und zuweisena = a + b
a -= bWert subtrahieren und zuweisena = a - b
a /= bWert teilen und zuweisena = a / b
a //= bGanzzahldivision und zuweisena = a // b
a *= bWert multiplizieren und zuweisena = a * b
a **= bPotenzieren und zuweisena = a ** b
a |= bBitweises ODER und zuweisena = a | b
a &= bBitweises UND und zuweisena = a & b
a ^= bBitweises XOR und zuweisena = a ^ b
a <<= bLinksverschiebung und zuweisena = a << b
a >>= bRechtsverschiebung und zuweisena = a >> b

6 Operationen bei Set und Mengen

Siehe datenstrukturen-collections.

7 Walrus-Operator := (Assignment Expression)

Der Walrus Operator (:=) wurde in Python 3.8 eingeführt und ermöglicht Zuweisungen innerhalb von Ausdrücken.

Syntax:

(variable := expression)

7.1 Grundlegendes Beispiel

# Ohne Walrus Operator
data = input('Gib Text ein: ')
if len(data) > 5:
    print(f'Der Text is {len(data)} Zeichen lang.')

# Mit Walrus Operator (kompakter)
if (n := len(input('Gib Text ein: '))) > 5:
    print(f' Der Text ist {n} Zeichen lang.')

7.2 In while-Schleifen

# Ohne Walrus Operator
line = input('Gib Befehl ein: ')
while line != 'quit':
    print(f'Du hast eingegeben: {line}')
    line = input('Gib Befehl ein: ')

# Mit Walrus Operator (DRY - Don't Repeat Yourself)
while (line := input('Gib Befehl ein: ')) != 'quit':
    print(f'You entered: {line}')

7.3 In List Comprehensions

# Liste von Quadraten, nur wenn Quadrat > 10
numbers = [1, 2, 3, 4, 5, 6]

# Ohne Walrus Operator (berechnet x**2 zweimal)
squares = [x**2 for x in numbers if x**2 > 10]

# Mit Walrus Operator (berechnet nur einmal)
squares = [square for x in numbers if (square := x**2) > 10]
# [16, 25, 36]

7.4 Bei regulären Ausdrücken

import re

# Ohne Walrus Operator
text = 'Email: user@example.com'
match = re.search(r'[\w\.-]+@[\w\.-]+', text)
if match:
    print(f'Gefunden: {match.group()}')

# Mit Walrus Operator
if (match := re.search(r'[\w\.-]+@[\w\.-]+', text)):
    print(f'Found: {match.group()}')

7.5 Wichtige Hinweise

Es sind Klammern erforderlich:

# ❌ Syntaxfehler
if n := 5 > 3:
    pass

# ✅ Richtig
if (n := 5) > 3:
    pass

Der Walrus-Operator ist nicht in allen Kontexten erlaubt:

# ❌ Nicht als standalone statement
n := 5  # SyntaxError

# ✅ Normale Zuweisung verwenden
n = 5

Wann verwenden:

  • Wenn ein Wert berechnet UND in einer Bedingung verwendet wird
  • Bei while-Schleifen mit komplexen Bedingungen
  • In List Comprehensions zur Vermeidung doppelter Berechnungen

Wann nicht verwenden:

  • Wenn normale Zuweisung ausreicht
  • Wenn es die Lesbarkeit verschlechtert