Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m320_2024:learningunits:lu04:dataclass [2024/08/14 06:52] – angelegt msuter | modul:m320_2024:learningunits:lu04:dataclass [2024/08/14 08:03] (aktuell) – msuter | ||
---|---|---|---|
Zeile 41: | Zeile 41: | ||
</ | </ | ||
+ | ===== Attribute ohne Initialwert ===== | ||
+ | Jenachdem können Klassen Attribute haben, deren Werte nicht durch den Aufrufer gesetzt werden. | ||
+ | Solche Attribute können mit '' | ||
+ | |||
+ | ==== Beispiel ==== | ||
+ | |||
+ | <code python> | ||
+ | @dataclass | ||
+ | class Member: | ||
+ | givenname: str | ||
+ | birth_year: int | ||
+ | membership_fee: | ||
+ | </ | ||
+ | |||
+ | In diesem Beispiel können beim Erzeugen (Instatiieren) eines Objekts nur der Vorname und das Geburtsjahr angegeben werden. | ||
+ | Der generierte Konstruktor sieht entsprechend so aus: | ||
+ | |||
+ | <code python> | ||
+ | ... | ||
+ | def __init__(self, | ||
+ | self.givenname = givenname | ||
+ | self.birth_year = birth_year | ||
+ | </ | ||
---- | ---- | ||
{{tag> | {{tag> | ||
- | [[https:// | + | [[https:// |