Zum Hauptinhalt springen

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

Mini-QuizHaben zwei Objekte derselben Klasse immer gleiche Attributwerte?

Vielfalt sitzt! Als Nächstes: sinnvoll anzeigen.