PEP 557 führt Datenklassen in die Python-Standardbibliothek ein. Darin heißt es, dass durch die Anwendung des unten gezeigten @dataclass-Dekorators „unter anderem ein __init__()“ generiert wird.
Code: Select all
from dataclasses import dataclass
@dataclass
class InventoryItem:
"""Class for keeping track of an item in inventory."""
name: str
unit_price: float
quantity_on_hand: int = 0
def total_cost(self) -> float:
return self.unit_price * self.quantity_on_hand
Es heißt auch, dass Datenklassen „veränderliche benannte Tupel mit Standardeinstellung“ sind, aber ich verstehe nicht, was das bedeutet und auch nicht, wie sich Datenklassen von allgemeinen Klassen unterscheiden.
Was sind Datenklassen und wann werden sie am besten verwendet?