pyai.docs

Core Python › 6 of 14

Classes & Dataclasses

Object-oriented patterns used in every ML framework.

python
from dataclasses import dataclass, field

@dataclass
class TrainConfig:
    lr: float = 1e-3
    batch_size: int = 32
    tags: list[str] = field(default_factory=list)

class Dataset:
    def __init__(self, items): self.items = items
    def __len__(self): return len(self.items)
    def __getitem__(self, i): return self.items[i]
Tip: Implementing __len__ and __getitem__ is exactly how PyTorch Dataset works.

⚡ Quick check

  • ✓ @dataclass for configs
  • ✓ Dunder methods: __len__, __getitem__
  • ✓ field(default_factory=list)