Methoden
Eine Methode ist eine Aufgabe, die zu genau einer Lampe gehört. lamp.label() führt diese Aufgabe aus und gibt dir die Wörter glow blue zurück. Die Klammern gehören zum Ausführen dazu. Ohne sie ist die Aufgabe nicht gelaufen, und auf dem Bildschirm steht nicht glow blue. label nutzt das Wort, das auf dieser Lampe schon gespeichert ist. Dabei wird kein Paket installiert und kein Ordner angelegt. Die eingerückten Zeilen unter label sind die Aufgabe. return gibt die Wörter zurück, schreibt sie aber nicht von selbst auf den Bildschirm.
class Lamp:
def __init__(self, color):
self.color = color
def label(self):
return "glow " + self.color
lamp = Lamp("blue")
print(lamp.label())
Auf dem Bildschirm steht glow blue, mit einem Leerzeichen zwischen glow und blue. label hat diese Wörter aus der gespeicherten color zusammengesetzt und zurückgegeben. print schreibt sie. Fehlte die print-Zeile, würde die Methode die Wörter trotzdem zurückgeben, und der Bildschirm bliebe leer. lamp.color ist weiterhin das gespeicherte Wort blue. lamp.label() ist die Aufgabe, die glow davorsetzt. Das sind zwei verschiedene Dinge.
class Lamp:
def __init__(self, color):
self.color = color
def label(self):
return "glow " + self.color
one = Lamp("blue")
two = Lamp("red")
print(one.label())
print(two.label())
Zwei Zeilen: erst glow blue, dann glow red. one und two sind zwei Lampen. Jedes label liest nur das Wort, das auf der jeweiligen Lampe gespeichert ist. Wenn du die Lampe mit red baust, ändert das die Lampe mit blue nicht: one.label() bleibt glow blue. Lamp ist weiterhin die Vorlage, one und two sind die Objekte. Die Aufgabe ist dieselbe, nur das gespeicherte Wort ist jedes Mal ein anderes.
Lamp.label() ohne Lampe steht in keinem der beiden Programme. Die Vorlage hat selbst keine gespeicherte color, und die Aufgabe braucht eine Lampe, von der sie lesen kann. Das Programm bricht an dieser Zeile ab, und der Name des Fehlers ist TypeError. None wird nicht geschrieben, und das Programm läuft nicht weiter. Du baust zuerst eine Lampe und schreibst dann die Klammern an diese Lampe.
Die nächste Seite behandelt die Vererbung. Auf dieser Seite führst du nur eine Aufgabe an einer Lampe aus und siehst dann, dass eine zweite Lampe ihre eigenen Wörter behält.
Eine Aufgabe an der Lampe
lamp.label() zeigt glow blue. print schreibt die Wörter, die Methode gibt sie nur zurück. Eine zweite Lampe kann glow red zeigen, ohne die erste zu verändern. Lamp.label() ohne Lampe bricht mit TypeError ab. Die nächste Seite behandelt die Vererbung.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt