Methoden und Objekte im Einsatz
Im ersten Teil hast du eine Klasse gebaut. Jetzt tun Objekte etwas: Sie rechnen mit ihren Werten, stellen sich lesbar vor, arbeiten in Schleifen und treffen Entscheidungen.
Modul 1 — Methoden, die rechnen
Ein Objekt kann mit seinen eigenen Werten arbeiten.
Eine Liste als Attribut
Ein Attribut darf auch eine Liste sein — zum Beispiel alle Messwerte eines Versuchs. Eine Methode kann daraus etwas berechnen, etwa den Mittelwert mit sum() und len().
class Messreihe:
def __init__(self, name, messwerte):
self.name = name
self.messwerte = list(messwerte)
def mittelwert(self):
return sum(self.messwerte) / len(self.messwerte)
list(messwerte) legt eine eigene Kopie der Liste an. Ändert jemand später die ursprüngliche Liste, bleibt das Objekt davon unberührt.
Beispiel 1.1 — Mittelwert einer Messreihe
Python wird geladen…Prüfung
Modul 2 — Objekte stellen sich vor: __str__
Was print() mit einem Objekt macht.
Ohne __str__ zeigt print nur eine Adresse
Gibst du ein Objekt mit print() aus, erscheint etwas wie <__main__.Messreihe object at 0x…>. Das hilft niemandem. Mit der Methode __str__ legst du selbst fest, welcher Text erscheinen soll — sie gibt einen String zurück, meist aus einem f-String gebaut.
def __str__(self):
return f"Messreihe {self.name}: {len(self.messwerte)} Werte"
Danach zeigt print(druck) genau diesen Text. Auch str(druck) liefert ihn.
Beispiel 2.1 — Vorher und nachher
Python wird geladen…Prüfung
Modul 3 — Objekte in Schleifen
Dieselbe Methode viele Male aufrufen.
Wiederholen und sammeln
Ein Objekt lässt sich in einer Schleife beliebig oft benutzen. Typisch ist ein Akkumulator: eine Variable, die mitzählt oder aufsummiert, und eine Liste, in die Zwischenergebnisse wandern.
summe = 0
ergebnisse = []
for nummer in range(1, 4):
summe += w.wuerfeln()
ergebnisse.append(summe / nummer)
Nach jedem Durchlauf steht in ergebnisse der Mittelwert aller bisherigen Würfe — der laufende Mittelwert.
Beispiel 3.1 — Laufender Mittelwert
Python wird geladen…Prüfung
Modul 4 — Methoden, die entscheiden
Eine Methode kann True oder False zurückgeben.
Wahrheitswert als Ergebnis
Ein Vergleich wie 0 <= wert <= 10 ergibt True oder False. Gibt eine Methode so einen Vergleich zurück, kannst du sie direkt in einer Bedingung verwenden: if sensor.ist_plausibel(wert):
def ist_plausibel(self, wert):
return self.minimum <= wert <= self.maximum
PraxisJetzt selbst programmieren
Vier Aufgaben: eine Messreihe mit Mittelwert, dazu __str__, dann die Würfelsimulation mit laufendem Mittelwert und zuletzt ein Drucksensor, der Messwerte prüft.
Beispiel 4.1 — Eine Methode als Bedingung
Python wird geladen…Prüfung
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.