Dies ist eine alte Version des Dokuments!
LU04b - Konstruktor in Dataclass
In einer Dataclass wird der Konstruktor anhand der Attribute automatisch generiert. Falls Sie eigene Zusicherungen im
Konstruktor
In einer @dataclass
definieren wir die Attribute mit ihren Datentypen.
Python erzeugt automatisch einen Konstruktor mit allen Parametern und Wertzuweisungen.
Beispiel
@dataclass class Member: givenname: str birth_year: int membership_fee: float
Die oben definierte Klasse erzeugt automatisch diesen Konstruktor:
... def __init__(self, givenname: str, birth_year: int, membership_fee: float): self.givenname = givenname self.birth_year = birth_year self.membership_fee = membership_fee
Zusicherungen und Programmlogik
Manche Klassen verlangen nach expliziten Zusicherungen oder Logik beim Erzeugen eines Objekts.
Anstatt den Konstruktor von Hand zu schreiben, nutzen wir dafür die Methode post_init()
.
Diese Methode, sofern vorhanden, wird am Ende des Konstruktors aufgerufen.