# import dataclasses **[import dataclasses](https://docs.python.org/3/library/dataclasses.html)** is a Python import that auto-generates methods for classes that mainly store data. Use `@dataclass` to reduce boilerplate for simple classes. ## Example ```python # Python # description: define data classes with auto-generated methods from dataclasses import dataclass, field from typing import List @dataclass class Person: name: str age: int email: str = "unknown@example.com" # default value # Create instance p = Person("Alice", 30) print(p) # Person(name='Alice', age=30, email='unknown@example.com') # Auto-generated __eq__ p2 = Person("Alice", 30) print(p == p2) # True # Mutable default (use field with default_factory) @dataclass class Team: name: str members: List[str] = field(default_factory=list) team = Team("Devs") team.members.append("Alice") print(team) ``` ## Common decorators and options - `@dataclass`: auto-generate `__init__`, `__repr__`, `__eq__`, etc. - `@dataclass(frozen=True)`: immutable dataclass - `field(default_factory=...)`: factory for mutable defaults - `field(init=False)`: exclude field from `__init__` - `field(repr=False)`: exclude field from `__repr__`