Methoden geben Werte zurück
Beispiel
class Haustier:
def __init__(self, name, hunger=5):
self.name = name
self.hunger = hunger
def ist_hungrig(self):
return self.hunger > 3
mira = Haustier("Mira", 4)
if mira.ist_hungrig():
print("Bitte fuettern!")
else:
print("Alles gut.")
return statt nur print
def status_text(self):
return f"{self.name}: Hunger {self.hunger}"
print(mira.status_text())
Dann kannst du speichern, testen, kombinieren.
Rate mal!
def get_hunger(self):
return self.hunger
Was liefert der Aufruf?
Auflösung
Den aktuellen Hunger-Wert als Zahl.
Probiere es selbst
Experiment 1
get_punkte return.
Experiment 2
ist_pleite return bool.
Experiment 3
assert auf eine Methode.
Fehlerdetektiv
def get_name(self):
print(self.name)
print("Name:", held.get_name())
Lösung
Ohne return kommt None. return self.name nutzen.
Übungen
Level 1
get_titel für Buch.
Level 2
hat_gewonnen wenn punkte groesser-gleich 100.
Level 3
zusammenfassung als String mit mehreren Infos.
Level-2-Lösung
class Spieler:
def __init__(self, punkte):
self.punkte = punkte
def hat_gewonnen(self):
return self.punkte >= 100
print(Spieler(120).hat_gewonnen())
Mini-Quiz
return sitzt! Als Nächstes: Regeln im Objekt schützen.