Institut für Webentwicklung
Themengebiet (Syllabus)

Python Programming Professional

Prüfungscode IFW-PYTHON-300-01 · Fassung 1.0 · Stand 18.09.2026

Python für anspruchsvolle Projekte: Closures und Decorators, Objekt- und Datenmodell, Generatoren und Exceptions, Nebenläufigkeit mit asyncio sowie Typisierung.

Bearbeitungszeit2 Stunden Fragen70
Bestehensgrenze70 % FragetypenEinfach- und Mehrfachauswahl
PrüfungsspracheDeutsch Zertifikat gültig36 Monate
DurchführungOnline, zeitlich überwacht Preis99,00 €
BlockThemaGewichtungFragen
1 Funktionen, Closures und Decorators 10 % 7
2 Objekt- und Datenmodell 30 % 21
3 Generatoren, Context Manager und Exceptions 20 % 14
4 Nebenläufigkeit und asyncio 20 % 14
5 Typisierung 20 % 14

1. Funktionen, Closures und Decorators 10 % · 7 Fragen

Funktionen als Objekte: wann Namen gebunden werden und wie Decorators Verhalten ergänzen.

  • 1.1 Späte Bindung in Closures erkennen Lambdas in Schleifen und Comprehensions, Standardargumente als Abhilfe
  • 1.2 Decorators mit Parametern schreiben drei Ebenen, functools.wraps
  • 1.3 Ergebnisse zwischenspeichern functools.lru_cache und die Voraussetzung hashbarer Argumente

2. Objekt- und Datenmodell 30 % · 21 Fragen

Wie Python Attribute auflöst, Methoden vererbt und Klassen erzeugt.

  • 2.1 Die Method Resolution Order anwenden Mehrfachvererbung, kooperatives super()
  • 2.2 Attributzugriffe steuern Deskriptoren mit __get__, __set__ und __set_name__; __getattr__ gegenüber __getattribute__
  • 2.3 Gleichheit und Hashbarkeit festlegen __eq__ und __hash__, Objekte als Schlüssel in dict und set
  • 2.4 Speicher und Unveränderlichkeit steuern __slots__, @dataclass(frozen=True), field(default_factory=…)
  • 2.5 Klassenerzeugung anpassen __init_subclass__, Registrierung von Unterklassen

3. Generatoren, Context Manager und Exceptions 20 % · 14 Fragen

Kontrollfluss jenseits von Schleifen und Funktionsaufrufen.

  • 3.1 Generatoren delegieren yield from und der Rückgabewert eines Subgenerators
  • 3.2 Mit Generatoren kommunizieren send(), throw(), close()
  • 3.3 Context Manager schreiben @contextmanager, Ausnahmen innerhalb des with-Blocks
  • 3.4 Exceptions verketten raise … from …, __cause__, __context__, from None

4. Nebenläufigkeit und asyncio 20 % · 14 Fragen

Die passende Form der Nebenläufigkeit für I/O- und CPU-lastige Aufgaben wählen.

  • 4.1 Den Global Interpreter Lock einordnen Threads für I/O, Prozesse für CPU-lastige Aufgaben
  • 4.2 Koroutinen nebenläufig ausführen async/await, asyncio.gather(), asyncio.create_task()
  • 4.3 Den Event Loop nicht blockieren time.sleep() gegenüber asyncio.sleep(), asyncio.to_thread()

5. Typisierung 20 % · 14 Fragen

Type Hints so einsetzen, dass Werkzeuge Fehler früh finden.

  • 5.1 Type Hints richtig einordnen keine Prüfung zur Laufzeit durch CPython, statische Prüfung mit mypy oder pyright
  • 5.2 Strukturelle Typisierung nutzen typing.Protocol, @runtime_checkable
  • 5.3 Generische Typen schreiben TypeVar, list[int], Optional[str] gegenüber optionalen Argumenten