Zum Hauptinhalt springen

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

Mini-QuizWas kommt ohne return oft zurueck?

return sitzt! Als Nächstes: Regeln im Objekt schützen.