Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m320_2024:learningunits:lu04:dataclass [2024/08/14 06:52] – angelegt msutermodul:m320_2024:learningunits:lu04:dataclass [2024/08/14 08:03] (aktuell) msuter
Zeile 41: Zeile 41:
 </code> </code>
  
 +===== Attribute ohne Initialwert =====
 +Jenachdem können Klassen Attribute haben, deren Werte nicht durch den Aufrufer gesetzt werden.
 +Solche Attribute können mit ''field(init=False)'' ausgeschlossen werden.
 +
 +==== Beispiel ====
 +
 +<code python>
 +@dataclass
 +class Member:
 +    givenname: str
 +    birth_year: int
 +    membership_fee: float = field(init=False)
 +</code>
 +
 +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, givenname: str, birth_year: int):
 +        self.givenname = givenname
 +        self.birth_year = birth_year
 +</code>
 ---- ----
 {{tag>M320-LU04}} {{tag>M320-LU04}}
-[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] René Probst, bearbeitet durch Marcel Suter+[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter
  
  • modul/m320_2024/learningunits/lu04/dataclass.1723611172.txt.gz
  • Zuletzt geändert: 2024/08/14 06:52
  • von msuter