Objekte mit verschiedenen Werten
Viele Exemplare, ein Plan
class Schueler:
def __init__(self, name, klasse):
self.name = name
self.klasse = klasse
a = Schueler("Luna", "6a")
b = Schueler("Lily", "6b")
print(a.name, a.klasse)
print(b.name, b.klasse)
Gleiche Struktur, andere Inhalte – wie Formulare mit verschiedenen Antworten.
Attribute ändern
a.klasse = "7a"
print(a.klasse)
Rate mal!
Ändert a.klasse = "7a" auch b?
Auflösung
Nein – nur Objekt a.
Probiere es selbst
Experiment 1
Drei Haustiere mit Namen.
Experiment 2
Ein Attribut nachträglich ändern.
Experiment 3
Liste von Objekten (Vorschau Kapitel 27).
Fehlerdetektiv
t = Haustier("Mira")
print(t.alter)
ohne alter in init.
Lösung
Attribute zuerst anlegen, z. B. in __init__: self.alter = 1.
Übungen
Level 1
Zwei Bücher mit Titeln.
Level 2
Klasse Punkt mit x und y.
Level 3
Methode verschiebe, die x erhöht (nächste Kapitel vertiefen Methoden).
Level-2-Lösung
class Punkt:
def __init__(self, x, y):
self.x = x
self.y = y
p = Punkt(2, 3)
print(p.x, p.y)
Mini-Quiz
Vielfalt sitzt! Als Nächstes: sinnvoll anzeigen.