PEP 557 — dataclasses в Python 3.7. @dataclass автоматически генерирует __init__, __repr__, __eq__. @dataclass class User: name: str; age: int = 0. Параметры: frozen=True — immutable, order=True — сравнение, slots=True (3.10+) — __slots__. field(default_factory=list) — мутабельные defaults. __post_init__ — логика после __init__. Наследование работает. asdict(obj), astuple(obj) — конвертация. vs NamedTuple: dataclass мутабельный по умолчанию, больше возможностей. vs Pydantic: dataclass не валидирует типы в runtime. Идеален для DTO, value objects, конфигов.
Что такое PEP 557 (dataclasses)?
Middle
235 просмотровAFK Offer AI
Что такое Flask blueprints?