Robocikowo>ROBOCIKOWO

Python — od podstaw do zaawansowanego · Dataclasses i Enums

Wybór: dataclass vs namedtuple vs pydantic vs zwykła klasa

Dataclasses i Enums

Wprowadzenie

Python ma kilka sposobów na modelowanie "rekordu danych": tuple, namedtuple (collections), typing.NamedTuple, dataclass (3.7+), TypedDict (typing), pydantic.BaseModel (zewnętrzny), attrs (zewnętrzny) i zwykła klasa. Każde rozwiązanie ma inne mocne strony: namedtuple — niemutowalność i interop z krotkami; dataclass — boilerplate-free w stdlib, z mutowalnością do wyboru; TypedDict — tylko podpowiedzi typów dla zwykłych dictów (bez runtime); pydantic — walidacja typów w runtime, parsowanie JSON, idealny do API; attrs — protoplasta dataclass z dodatkowymi opcjami. Ta lekcja uczy decyzji.