Zwischenstand speichern / laden

Speichere deine Laborergebnisse für 48 Stunden auf diesem Server. Mit dem Token kannst du sie auch auf einem anderen Gerät fortsetzen. Wer den Token kennt, kann deinen Stand öffnen.

Zwischenstand speichern

Der Name ist beim ersten Speichern Pflicht und danach fest mit diesem Stand verbunden. Aufgabenwerte, Eingaben und Fortschritt werden gemeinsam gespeichert.

Zwischenstand laden

Neuer Arbeitsstand

Beginnt mit leeren Ergebnissen und einem frei wählbaren Namen. Bereits gespeicherte Tokens bleiben bis zu ihrem Ablauf gültig. Ungespeicherte Änderungen dieses Tabs werden verworfen.

Beim Speichern werden auch enthaltene Messdateien und Analysevideos an diesen Server übertragen. Laufende Simulationen werden als Ergebnisstand gesichert und beim Laden pausiert angezeigt.

Vererbung heißt: Eine neue Klasse übernimmt alles von einer vorhandenen und ergänzt nur, was anders ist. Du lernst die drei Bausteine einzeln: erben, super() und überschreiben.

Modul 1 — Warum Vererbung?

Nicht alles noch einmal schreiben.

Basisklasse und Unterklasse

Ein Temperaturversuch ist eine Messreihe — mit Name, Messwerten und Mittelwert — plus ein bisschen mehr. Statt alles noch einmal zu schreiben, erbt die neue Klasse von der vorhandenen. Die vorhandene heißt Basisklasse, die neue Unterklasse.

class TemperaturVersuch(Messreihe):
    pass

t = TemperaturVersuch("Erwärmung", [20, 24, 22])
print(t.mittelwert())

Die Basisklasse steht in Klammern hinter dem Namen. Schon mit pass kann die Unterklasse alles, was die Basisklasse kann — mittelwert() ist geerbt.

Beispiel 1.1 — Geerbte Methode

Python wird geladen…
Ausgabe

    

Modul 2 — Eigene Attribute mit super()

Die Basisklasse initialisieren lassen, dann ergänzen.

super().__init__(...)

Braucht die Unterklasse ein zusätzliches Attribut, bekommt sie einen eigenen Konstruktor. Damit Name und Messwerte trotzdem wie gewohnt gespeichert werden, ruft er zuerst den Konstruktor der Basisklasse auf — über super(). Danach kommen die eigenen Attribute.

class TemperaturVersuch(Messreihe):
    def __init__(self, name, messwerte, einheit="°C"):
        super().__init__(name, messwerte)
        self.einheit = einheit

Ohne den super()-Aufruf gäbe es weder name noch messwerte im Objekt — die Basisklasse wird nicht automatisch initialisiert.

Beispiel 2.1 — Basisklasse plus eigenes Attribut

Python wird geladen…
Ausgabe

    

Modul 3 — Methoden überschreiben

Die Unterklasse darf es anders machen.

Gleicher Name, neue Fassung

Schreibt die Unterklasse eine Methode mit demselben Namen wie die Basisklasse, gilt für ihre Objekte die neue Fassung. Das heißt überschreiben. Typisch ist ein eigenes __str__, damit der Temperaturversuch sich anders vorstellt als eine allgemeine Messreihe.

    def __str__(self):
        return f"Temperaturversuch {self.name}: {len(self.messwerte)} Werte"

Mit issubclass(TemperaturVersuch, Messreihe) prüfst du, ob eine Klasse von einer anderen erbt; isinstance(t, Messreihe) sagt, ob ein Objekt (auch als Unterklasse) dazugehört.

Beispiel 3.1 — Geerbt oder überschrieben?

Python wird geladen…
Ausgabe

    

Modul 4 — Vom Messobjekt zum Versuch

Das Muster hinter den Aufgaben.

Gemeinsames in die Basisklasse, Besonderes in die Unterklasse

So entsteht ein kleines Datenmodell für das Labor: Messreihe kann alles, was jede Messung braucht. TemperaturVersuch ergänzt die Einheit und die höchste Temperatur. Eine Druckmessreihe ergänzt Grenzen und prüft, ob alle Werte dazwischen liegen. Nichts davon wird doppelt geschrieben.

PraxisJetzt selbst programmieren

Drei Aufgaben: TemperaturVersuch erbt von Messreihe, bekommt ein eigenes __str__, und zuletzt entsteht eine Druckmessreihe mit Plausibilitätsgrenzen.

Beispiel 4.1 — Zwei Unterklassen, eine Basis

Python wird geladen…
Ausgabe

    

Quellen und weiterführende Literatur

Grundlage des Moduls und vertiefende Python-Referenzen.

Lehrmaterial und Dokumentation

  • Vorlesungsnotebook IngInfo_WS26_27_VÜ.ipynb, Abschnitt Objektorientiertes Programmieren.
  • Python Tutorial — Classes.
  • Real Python — Object-Oriented Programming in Python.
  • Theis, Thomas: Einstieg in Python. 7. Auflage, Rheinwerk Verlag, 2023.