Python — od podstaw do zaawansowanego · Dataclasses i Enums
field() i specjalne pola dataclass
Dataclasses i Enums
Wprowadzenie
Funkcja field() z modułu dataclasses doprecyzowuje pojedyncze pola dataclass. Najczęstsze parametry: default_factory (dla mutowalnych domyślnych typu list/dict/set), init=False (pole nie pojawia się w __init__), repr=False (pole pominięte w __repr__ — np. hasła, długie buffery), compare=False (pole pominięte w __eq__ i __lt__), hash=False (pole pominięte w __hash__), metadata=... (mapping dla zewnętrznych narzędzi, nieużywany przez @dataclass). Specjalne adnotacje: ClassVar[T] — atrybut klasy, nie pole instancji; InitVar[T] — argument przekazywany do __post_init__, ale nieprzechowywany jako pole. To narzędzia do precyzyjnej kontroli tego, co dataclass generuje.