Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| modul:m320_2024:learningunits:lu04:dataclass [2024/08/14 06:55] – [Beispiel] 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:// | ||