Python für Profis: Typen, Architektur, Leistung, Qualität und Betrieb professioneller Software
Python auf Berufsniveau: Typsystem, Architektur, Leistung, Datenbanken und Schnittstellen, Qualität, Sicherheit und Betrieb.
Dieser Kurs führt dich nach dem Kurs für Fortgeschrittene in 24 Modulen und 96 Lektionen zu professioneller Python-Entwicklung. Du nutzt das Typsystem mit Generics, Protocol und mypy, verstehst Deskriptoren, Metaklassen, Bytecode und Speicher und schreibst Decorators mit sauberer Signatur. Du entwirfst Software mit Entwurfsmustern, Schichten, Ports und Adaptern, bildest ein Domänenmodell mit Value Objects und Aggregaten und baust Abläufe, die Wiederholung, Zeitlimit und Idempotenz beherrschen. Du arbeitest mit asyncio im Betrieb, verteilst Rechenarbeit auf Prozesse, misst Leistung mit Profiler und numpy und verarbeitest Binärdaten kompakt. Du sprichst Datenbanken mit SQLAlchemy an, entwickelst Schemas mit Alembic, baust HTTP-Schnittstellen mit FastAPI und prüfst Eingaben mit pydantic. Du sicherst Qualität mit Eigenschaftstests, mypy im strikten Modus und ruff, behandelst Geheimnisse, Hashes, Injection und Lieferkette richtig, machst Programme mit strukturierten Protokollen beobachtbar, erweiterst sie mit Plugins, bereitest Releases vor und setzt zum Abschluss einen Dienst mit Tests um. Jede Lektion beginnt mit einem Praxisproblem, zeigt Programme mit echter Ausgabe, lässt dich in verschiedenen Übungen anwenden und endet mit einem Mini-Fall samt Musterlösung. Alle Beispiele wurden mit Python 3.12 und den im Kurs genannten Bibliotheksversionen ausgeführt. Quellen sind die offizielle Python-Dokumentation, die Python Enhancement Proposals (PEP) und die Dokumentation der verwendeten Bibliotheken, jeweils mit Abrufdatum. Alle Personen, Firmen und Zahlen der Beispiele sind erfunden.
Die Kursübersicht enthält 6 Lernfelder und 24 Module. Wähle ein Lernfeld, um seine Module und die Zugangsmöglichkeiten anzusehen.
- Kategorie: Programmieren
- Niveau: advanced
- Lernzeit: 86.6 Stunden aktive Lernzeit
Lernfelder im Kurs
Sprache und Laufzeit: Typsystem, Deskriptoren, Bytecode und Funktionen höherer Ordnung
Das Typsystem mit mypy nutzen, Klassen mit Deskriptoren und Metaklassen gestalten, Bytecode und Speicher verstehen und Decorators sauber typisieren.
Architektur und Entwurf: Muster, Schichten, Domänenmodell und zuverlässige Abläufe
Entwurfsmuster abwägen, Schichten mit Ports und Adaptern trennen, ein Domänenmodell bilden und Abläufe mit Wiederholung und Zeitlimit absichern.
Gleichzeitigkeit und Leistung: asyncio, Prozesse, Profiling und kompakte Daten
Asynchrone Programme betreiben, Arbeit auf Prozesse verteilen, Engpässe messen und beheben und Binärdaten kompakt verarbeiten.
Daten und Schnittstellen: SQLAlchemy, Migrationen, HTTP-Schnittstellen und Validierung
Datenbanken mit SQLAlchemy ansprechen, Schemas mit Alembic entwickeln, HTTP-Schnittstellen mit FastAPI bauen und Eingaben mit pydantic prüfen.
Qualität und Sicherheit: Eigenschaftstests, statische Analyse, Sicherheit und Beobachtbarkeit
Mit Hypothesis testen, mit mypy und ruff prüfen, typische Sicherheitsfehler vermeiden und Programme mit Protokollen und Kennzahlen beobachtbar machen.
Projekte liefern: Plugins, Release, Abschlussprojekt und Prüfung
Programme mit Plugins erweitern, Releases und Betrieb vorbereiten, ein Abschlussprojekt umsetzen und die Abschlussprüfung bestehen.
Module und Inhalte
Das Typsystem im Detail: Generics, Protocol, TypedDict und die Prüfung mit mypy
Lernfeld: Sprache und Laufzeit: Typsystem, Deskriptoren, Bytecode und Funktionen höherer Ordnung
Typ-Hinweise mit Generics, Protocol und TypedDict schreiben und Programme mit mypy statisch prüfen.
Deskriptoren und Metaklassen: Klassen zur Laufzeit gestalten
Lernfeld: Sprache und Laufzeit: Typsystem, Deskriptoren, Bytecode und Funktionen höherer Ordnung
Attributzugriffe mit Deskriptoren steuern, Klassen mit __init_subclass__ und Metaklassen gestalten und die Grenzen kennen.
Bytecode, Frames und Speicher: dis, __slots__ und Garbage Collection
Lernfeld: Sprache und Laufzeit: Typsystem, Deskriptoren, Bytecode und Funktionen höherer Ordnung
Bytecode mit dis lesen, den Speicherbedarf von Objekten messen und Referenzzyklen und Garbage Collection verstehen.
Funktionen höherer Ordnung: ParamSpec, singledispatch, contextvars und Decorator-Fabriken
Lernfeld: Sprache und Laufzeit: Typsystem, Deskriptoren, Bytecode und Funktionen höherer Ordnung
Decorators mit Parametern und sauberer Signatur schreiben, Funktionen nach Typ verteilen und Kontext mit contextvars führen.
Entwurfsmuster in Python: Strategy, Factory, Observer und wann man sie nicht braucht
Lernfeld: Architektur und Entwurf: Muster, Schichten, Domänenmodell und zuverlässige Abläufe
Entwurfsmuster mit Funktionen, Klassen und Protokollen umsetzen und abwägen, wann sie eine Lösung verbessern oder verkomplizieren.
Schichten und Abhängigkeiten: Ports, Adapter und Dependency Injection
Lernfeld: Architektur und Entwurf: Muster, Schichten, Domänenmodell und zuverlässige Abläufe
Ein Programm in Schichten gliedern, Abhängigkeiten über Ports umkehren und Adapter für Datenbank und Netz austauschbar machen.
Das Domänenmodell: Value Objects, Entitäten, Aggregate und Domänenereignisse
Lernfeld: Architektur und Entwurf: Muster, Schichten, Domänenmodell und zuverlässige Abläufe
Fachliche Regeln in unveränderlichen Value Objects, Entitäten und Aggregaten kapseln und Änderungen als Ereignisse festhalten.
Zuverlässige Abläufe: Wiederholung, Zeitlimit, Idempotenz und Fehlerrichtlinien
Lernfeld: Architektur und Entwurf: Muster, Schichten, Domänenmodell und zuverlässige Abläufe
Abläufe mit Wiederholung, Zeitlimit, Idempotenz und klaren Fehlerrichtlinien so bauen, dass sie Störungen überstehen.
asyncio im Betrieb: TaskGroup, Abbruch, Zeitlimits und asynchrone Generatoren
Lernfeld: Gleichzeitigkeit und Leistung: asyncio, Prozesse, Profiling und kompakte Daten
Asynchrone Programme mit TaskGroup, Abbruch, Zeitlimit und Lastbegrenzung bauen und asynchrone Generatoren einsetzen.
Mehrere Prozesse: multiprocessing, Shared Memory und Arbeitsverteilung
Lernfeld: Gleichzeitigkeit und Leistung: asyncio, Prozesse, Profiling und kompakte Daten
Rechenarbeit mit multiprocessing auf Prozesse verteilen, Daten über Shared Memory teilen und die Kosten der Übergabe abschätzen.
Leistung messen und verbessern: Profiling, Algorithmen und numpy-Vektorisierung
Lernfeld: Gleichzeitigkeit und Leistung: asyncio, Prozesse, Profiling und kompakte Daten
Engpässe mit Profiler und Messreihen finden, Algorithmen verbessern und Schleifen durch numpy-Vektorisierung ersetzen.
Daten kompakt und schnell: array, memoryview, struct und Binärformate
Lernfeld: Gleichzeitigkeit und Leistung: asyncio, Prozesse, Profiling und kompakte Daten
Binärdaten mit array, memoryview und struct lesen und schreiben und bei grossen Datenmengen Speicher und Kopien sparen.
Datenbankzugriff mit SQLAlchemy: Core, ORM, Sitzungen und Abfragen
Lernfeld: Daten und Schnittstellen: SQLAlchemy, Migrationen, HTTP-Schnittstellen und Validierung
Datenbanken mit SQLAlchemy Core und ORM ansprechen, Sitzungen und Transaktionen führen und Abfragen sicher formulieren.
Schema-Entwicklung: Migrationen mit Alembic, Versionen und Rückwege
Lernfeld: Daten und Schnittstellen: SQLAlchemy, Migrationen, HTTP-Schnittstellen und Validierung
Datenbankschemas mit Alembic-Migrationen schrittweise entwickeln, Versionen verwalten und Rückwege planen.
HTTP-Schnittstellen: Anfragen, Statuscodes, JSON und eine API mit FastAPI
Lernfeld: Daten und Schnittstellen: SQLAlchemy, Migrationen, HTTP-Schnittstellen und Validierung
HTTP-Anfragen und Antworten mit Statuscodes und JSON verstehen und eine kleine Schnittstelle mit FastAPI bauen und testen.
Validierung und Konfiguration mit pydantic: Eingaben prüfen und Modelle serialisieren
Lernfeld: Daten und Schnittstellen: SQLAlchemy, Migrationen, HTTP-Schnittstellen und Validierung
Eingaben und Konfigurationen mit pydantic prüfen, Modelle serialisieren und Fehler für Anwendende verständlich melden.
Eigenschaftstests mit Hypothesis: Strategien, Schrumpfen und Zustandsmodelle
Lernfeld: Qualität und Sicherheit: Eigenschaftstests, statische Analyse, Sicherheit und Beobachtbarkeit
Programme mit Eigenschaftstests und Hypothesis prüfen, Strategien entwerfen und gefundene Gegenbeispiele auswerten.
Statische Analyse: mypy strikt, ruff und automatische Prüfungen vor dem Commit
Lernfeld: Qualität und Sicherheit: Eigenschaftstests, statische Analyse, Sicherheit und Beobachtbarkeit
Code mit mypy im strikten Modus und ruff prüfen und die Prüfungen in einen automatischen Ablauf vor dem Commit einbinden.
Sicherheit in Python: Geheimnisse, Hashes, Injection, Deserialisierung und Lieferkette
Lernfeld: Qualität und Sicherheit: Eigenschaftstests, statische Analyse, Sicherheit und Beobachtbarkeit
Typische Sicherheitsfehler in Python erkennen, Geheimnisse und Hashes richtig behandeln und Abhängigkeiten prüfen.
Beobachtbarkeit: strukturierte Protokolle, Kennzahlen und Fehlersuche im Betrieb
Lernfeld: Qualität und Sicherheit: Eigenschaftstests, statische Analyse, Sicherheit und Beobachtbarkeit
Programme mit strukturierten Protokollen, Kennzahlen und Korrelation beobachtbar machen und Fehler im Betrieb eingrenzen.
Plugins und Erweiterungen: Entry Points, importlib.metadata und Registrierung
Lernfeld: Projekte liefern: Plugins, Release, Abschlussprojekt und Prüfung
Ein Programm mit Plugins erweitern, Entry Points und importlib.metadata nutzen und Erweiterungen sicher registrieren.
Release und Betrieb: Versionen, Konfiguration, Container-Konzept und Rückwege
Lernfeld: Projekte liefern: Plugins, Release, Abschlussprojekt und Prüfung
Releases mit Versionsnummern und Changelog vorbereiten, Konfiguration vom Code trennen und Rückwege für den Betrieb planen.
Abschlussprojekt: einen Auftragsdienst planen, bauen, testen und ausliefern
Lernfeld: Projekte liefern: Plugins, Release, Abschlussprojekt und Prüfung
Einen Dienst mit Schichten, SQLAlchemy, pydantic und FastAPI planen, mit Tests und mypy absichern und abnahmefähig ausliefern.
Prüfungsmodul: Fallstudien und Abschlusstest
Lernfeld: Projekte liefern: Plugins, Release, Abschlussprojekt und Prüfung
Drei integrierte Fallstudien und eine Abschlussprüfung mit Auswertung, Fehlerprofil und Wiederholungsempfehlung.
Zugang zum Kurs
Mit deinem Gratiskonto stehen dir alle veröffentlichten Selbstlernkurse und Lernspiele offen, ohne Tageslimit. Nach jeder abgeschlossenen Lerneinheit folgt eine Werbepause. Keine Kreditkarte und kein automatisches Abo.
Ein Premiumzugang umfasst alle veröffentlichten Selbstlernkurse für CHF 19.90 pro Monat oder CHF 179.00 pro Jahr. Monat und Jahr enthalten dieselben Premiumleistungen. Halloween-Aktion: Bei Abschluss bis einschliesslich 24. November 2026 zahlst du CHF 19.90 pro Monat, solange dein Abo ununterbrochen läuft. Diese lebenslange Preisgarantie gilt auch nach Aktionsende bei jeder monatlichen Verlängerung. Ab 25. November 2026 kosten neue Monatsabos CHF 25.00. Monatlich verlängert; zum Ende des bezahlten Monats kündbar. Beim Jahresabo entspricht das CHF 14.92 pro Monat; der volle Jahrespreis wird jährlich bezahlt und automatisch verlängert, zum Ende der bezahlten Laufzeit kündbar. CHF 59.80 (rund 25 %) günstiger als zwölf Monatszahlungen zum aktuellen Monatspreis.
Nach einer Lektion mit bis zu drei Übungen beziehungsweise einer Übungs-, Lernkarten- oder Spielrunde folgt eine Werbepause. Eigenwerbung und verfügbare Google-Anzeigen wechseln sich ab. Unser Video erfordert mindestens 20 Sekunden sichtbarer, aktiver Wiedergabe. Google startet nur nach ausdrücklicher Auswahl und Einwilligung. Ist Google nicht verfügbar oder liegt keine Einwilligung vor, wird Eigenwerbung angeboten. Es gibt kein tägliches Maximum an Werbepausen. Jede bestätigte Werbepause erlaubt die nächste Lerneinheit; Freigaben lassen sich nicht ansammeln. Premium ist werbefrei.