Dataclasses and NamedTuples
May 30, 2026 | 5 min read
Dataclass Basics
from dataclasses import dataclass
@dataclass
class Point:
x: float
y: float
def distance(p1: Point, p2: Point) -> float:
dx = p1.x - p2.x
dy = p1.y - p2.y
return (dx * dx + dy * dy) ** 0.5
NamedTuple
from typing import NamedTuple
class Point(NamedTuple):
x: float
y: float
Performance
Dataclasses and NamedTuples have minimal overhead. Pyvorin compiles the methods and functions that operate on them to native code.