Dataclasses for Less Boilerplate
Writing __init__ for simple data containers gets repetitive. Dataclasses generate it for you.
from dataclasses import dataclass
@dataclass
class Person:
name: str
age: int
city: str = "Unknown"
This automatically creates __init__, __repr__, and __eq__. Use it like any class:
alice = Person("Alice", 30, "NYC")
print(alice) # Person(name='Alice', age=30, city='NYC')
You get proper initialization, nice printing, and equality comparison - all without writing boilerplate.
Dataclasses are perfect for classes that mainly hold data.
I cover dataclasses in my Python OOP course.