Python Klassen Frage?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Hallo Hangover,

def __init__ ist ein Konstruktor (Methode), die beim Instantiieren eines Objektes automatisch ausgeführt wird. Du kannst dieser Methode Parameter übergeben, damit du diese innerhalb der Klasse und den anderen Methoden nutzen kannst.

Im obigen Beispiel kannst du deinem Objekt einen Vor- und Nachnamen übergeben. Den Vornamen und Nachnamen kannst du dann in den anderen Methoden verwenden.

Es gibt aber nicht nur den Konstruktor __init__, es gibt noch weitere Magic Methods (so nennt man Methoden, die irgendwas automatisch machen).

https://www.w3schools.com/python/gloss_python_object_methods.asp

Übrigens eine Klasse braucht keine __init__ Methode. Wenn du aber gewisse Werte als Variable im späteren Verlauf benötigst, dann ist ein Konstruktor (__init__) ratsam.

Wenn du deine Customer Klasse in main.py verwenden möchtest, musst du ein Objekt instantiieren:

import customer

object1 = Customer("Peter", "Müller")
object1.get_last_name()

Du musst auch die Getter- und Setter-Methoden anpassen. In der get_last_name() Methode fehlt:

return self.__last_name

https://www.w3schools.com/python/python_classes.asp

Wenn ich dir helfen konnte, würde ich mich über die Auszeichnung als hilfreichste Antwort freuen.


Hangover2229 
Beitragsersteller
 26.10.2022, 15:47

Vielen Dank für die sehr ausführliche Antwort ! Hab’s jetzt kapiert! Werd ich auf jeden Fall machen, sobald die Option verfügbar ist 👍

1