No description
| 00_fehlersuche_und_grundlagen | ||
| 01_einstieg_klassen | ||
| 02_init_und_self | ||
| 03_methoden_und_verhalten | ||
| 04_str_und_darstellung | ||
| 04b_umstieg_vscode | ||
| 05_objekte_kombinieren | ||
| 06_abschlussprojekt_tamagotchi | ||
| 07_referenzen_und_speicher | ||
| assets | ||
| .gitignore | ||
| index.html | ||
| LEHRPLAN.md | ||
| README.md | ||
| test_all.py | ||
🐍 Python OOP Übungsreihe: Der Einstieg in Klassen & Objekte
Willkommen zu deiner Übungsreihe für Objektorientierte Programmierung (OOP) in Python! 🎉
Diese Übungsreihe ist didaktisch aufbereitet und 1:1 mit dem offiziellen Lehrplan des Informatik-Unterrichts (LEHRPLAN.md) abgeglichen.
🗺️ Der Lernpfad
🌱 Phase 1: Grundlagen OOP & Entwicklungsumgebung
| Kapitel | Thema | Was du lernst |
|---|---|---|
| 00. Fehlersuche & Grundlagen | Warm-up & Debugging | Tracebacks lesen, Einrückungen (IndentationError), Typfehler & Detektiv-Aufgabe |
| 01. Einstieg in Klassen | Warum Klassen? | Bauplan vs. Objekt, Instanziierung, Punktnotation & Type Hints |
| 02. Konstruktor & self | __init__, self & UML |
Objekte sauber initialisieren und erste UML-Klassendiagramme |
| 03. Methoden & Verhalten | Methoden & Interaktion | Objekte können handeln & miteinander im Duell interagieren |
| 04. Schöne Textausgabe | __str__ Dunder-Methode |
Wie Objekte lesbar mit print() ausgegeben werden (Warenkorb & Bon) |
| 04b. Umstieg & Installation VS Code | Exkurs: IDE-Wechsel | Installation (Win/Mac/Linux), Plugins (Error Lens, Python), Shortcuts & Terminal |
| 05. Objekte kombinieren | Assoziation & Komposition | Listen von Objekten & Spotify-Playlists filtern und berechnen |
| 06. Abschlussprojekt OOP 1 | Mini-Projekt: Tamagotchi | Ein interaktives Konsolenspiel mit allem Gelernten |
🧠 Phase 2: Fortgeschrittenes OOP, Speicher & Persistenz
| Kapitel | Thema | Was du lernst |
|---|---|---|
| 07. Referenzen, Speicher & Stammbäume | Speicher & RAM | Referenzen, Aliasing (b = a), Mutable vs. Immutable, is vs. == & Familienstammbaum |
| 08. Operator Overloading | Dunder-Methoden | __add__, __eq__, __lt__ (2D-Vektoren & Kartenspiele) |
09. Vererbung & super() |
Inheritance | Basisklassen, Kindklassen & super().__init__() (Fahrzeuge & RPG-Helden) |
| 10. Polymorphie & Interfaces | Polymorphism | Methoden überschreiben, Geometrie- & Grafik-Engine |
| 11. Exceptions & Fehler | Robustes Coding | try/except/else/finally, raise, eigene Exception-Klassen |
| 12. JSON & CSV Speichern | Persistenz | Spielstände dauerhaft mit JSON/CSV auf der Festplatte sichern |
(Den vollständigen didaktischen Masterplan für alle Kapitel bis 15 findest du in LEHRPLAN.md.)
📁 Aufbau eines Kapitels
In jedem Kapitelordner findest du:
index.html: Eine interaktive, schön gestaltete Webseite mit ausführlichen Erklärungen, Vollbeispielen und aufklappbaren Lösungshinweisen.README.md: Die Erklärung im Markdown-Format.aufgabe.py: Dein Arbeitsblatt! Hier steht der Starter-Code mit klarenTODO-Kommentaren.test_aufgabe.py: Automatische Tests, mit denen du deine Lösung jederzeit überprüfen kannst.musterloesung.py: Eine ausführlich kommentierte Beispiellösung.
🚀 Wie du vorgehst
- Öffne den Ordner des aktuellen Kapitels (z.B.
07_referenzen_und_speicher). - Öffne die
index.htmlim Browser oder lies dieREADME.md. - Öffne
aufgabe.pyund bearbeite die Aufgaben. - Führe die Tests aus, um deine Lösung zu prüfen:
python3 test_aufgabe.py - Wenn alle Tests mit einem grünen
OKdurchlaufen: Herzlichen Glückwunsch! Du bist bereit für das nächste Kapitel! 🏆
💡 Gesamten Fortschritt prüfen
python3 test_all.py