Einführung & Environment
- Überblick über Python 3 & Vergleich zu anderen Sprachen
- Entwicklungsumgebungen (IDE): PyCharm, VS Code, (neo-)vim mit LSP, Jupyter Notebook
- Neu: KI-Modelle / GitHub Copilot für Python Programmierung (Überblick)
- Python Tooling: Linter und LSPs
- Das erste Skript: Setup und Ausführung
- Grundlagen: Datentypen, Variablen und Zuweisungen
Datenstrukturen & Kontrollfluss
- Collections: Listen (Arrays) und Tupel
- Mappings & Sets: Dictionaries (Hash Tables) und Mengen
- Kontrollstrukturen: Verzweigungen mit if und else
- Iteration: for- und while-Schleifen, Iteratoren
Funktionen & Modularisierung
- Funktionen definieren: Parameter, Argumente und Return-Values
- Code-Qualität: Type Hints (Typisierung) und DocStrings für sauberen Code
- Modularisierung: Eigene Module und Packages erstellen
- Ecosystem: pip (Paketmanager) und Einbinden von 3rd Party Paketen
- Virtual Environments (venv)
Objektorientierung (OOP)
- Grundlagen: Klassen, Objekte, Attribute und Methoden
- Vererbung: Basisklassen, Subklassen und super()
- Struktur: Abstrakte Klassen und Composition (Komposition)
- Advanced OOP: Magische Methoden (Operator Overloading) und Methoden überschreiben/überladen (Auf Python Art)
Robustheit, I/O & Standard Library
- Exception Handling: try, except, finally und eigene Exceptions
- Dateisystem: Lesen/Schreiben von Dateien, os und sys Module
- Zeit & Protokolle: Die datetime (und time) Bibliothek, Python logging
- Datenbanken: Anbindung und Abfragen mit SQLite
Ausblick & Praxis
- Ecosystem-Tour: Testing, Pandas, Numpy und Data-Science-Bibliotheken