advancedAdvanced Topics

Data Classes

Use dataclasses for clean, structured data containers.

In this lesson

01Basic Data Classes

The @dataclass decorator auto-generates __init__, __repr__, and __eq__.

Python
1from dataclasses import dataclass, field
2
3@dataclass
4class Point:
5 x: float
6 y: float
7 label: str = "origin"
8
9@dataclass
10class Circle:
11 center: Point
12 radius: float
13 tags: list = field(default_factory=list)
14
15p = Point(3.0, 4.0, "A")
16c = Circle(p, 5.0, ["red"])
17
18print(p)
19print(c)
20print(p == Point(3.0, 4.0, "A")) # True
Output
Point(x=3.0, y=4.0, label='A')
Circle(center=Point(x=3.0, y=4.0, label='A'), radius=5.0, tags=['red'])
True