capypad
0 Tage Serie
python / intermediate
Snippet

Klassen vereinfachen mit Dataclasses

Der @dataclass-Dekorator generiert automatisch gängige Methoden wie __init__, __repr__ und __eq__ basierend auf Typ-Hinweisen, wodurch Boilerplate-Code in datenorientierten Klassen reduziert wird.

snippet.py
python
1
2
3
4
5
6
7
8
9
10
from dataclasses import dataclass
 
@dataclass
class Product:
name: str
price: float
quantity: int = 0
 
def total_value(self) -> float:
return self.price * self.quantity
Erklärung
1
@dataclass
Weist Python an, automatisch Standardmethoden für die Klasse zu generieren.
2
name: str
Definiert ein Feld mit einem Typ-Hinweis, den die Dataclass zur Erstellung des Konstruktors nutzt.