Dataclasses
PY · Classes & OOPsyntax
from dataclasses import dataclass
@dataclass
class Name:
field: typeexample
from dataclasses import dataclass, field
@dataclass
class Product:
name: str
price: float
tags: list[str] = field(default_factory=list)
@property
def display_price(self) -> str:
return f"${self.price:.2f}"
p = Product("Widget", 9.99, ["sale"])
print(p)
print(p.display_price)output
Product(name='Widget', price=9.99, tags=['sale'])
$9.99Note Dataclasses auto-generate __init__, __repr__, and __eq__. Use field(default_factory=list) for mutable defaults, never a bare [] as a default.