Methoden mit Parametern
Beispiel
class Haustier:
def __init__(self, name):
self.name = name
self.hunger = 5
def fuettern(self, menge):
self.hunger = self.hunger - menge
if self.hunger < 0:
self.hunger = 0
print(f"{self.name}: Hunger jetzt {self.hunger}")
mira = Haustier("Mira")
mira.fuettern(2)
mira.fuettern(10)
self kommt zuerst, dann deine Parameter.
Rate mal!
def heilen(self, punkte):
Wie viele Argumente beim Aufruf held.heilen(5)?
Auflösung
Du übergibst 5; self kommt automatisch vom Objekt.
Probiere es selbst
Experiment 1
einzahlen(betrag).
Experiment 2
umbenennen(neuer_name).
Experiment 3
Zwei Parameter: trainieren(minuten, intensitaet) (einfach printen).
Fehlerdetektiv
mira.fuettern()
wenn fuettern(self, menge) definiert ist.
Lösung
Argument fehlt: mira.fuettern(1).
Übungen
Level 1
setze_level(self, level).
Level 2
add_score(self, wert).
Level 3
kaempfen(self, schaden) reduziert leben.
Level-2-Lösung
class Spieler:
def __init__(self, name):
self.name = name
self.score = 0
def add_score(self, wert):
self.score = self.score + wert
s = Spieler("Py")
s.add_score(10)
print(s.score)
Mini-Quiz
Parameter sitzen! Als Nächstes: return aus Methoden.