Siden '' og 0 er respektive standard returnerede værdier af str() og int() funktioner, kan du bruge følgende kode til at indsætte disse standardindstillinger:
@dataclass
class Person:
id: int = None
name: str = field(default_factory=str)
age: int = field(default_factory=int)
hobbies: List[str] = field(default_factory=list)
birthday: datetime = field(default_factory=datetime)
Desværre, af en eller anden grund, ved at bruge default parameter for field() funktionen virker ikke, som vi kunne forvente (kan være en fejl i dataclasses backport eller en misforståelse...). Men du kan stadig bruge default_factory for at angive værdier, der er forskellige fra '' og 0 ved hjælp af lambda :
@dataclass
class Person:
id: int = None
name: str = field(default_factory=lambda: 'john doe')
age: int = field(default_factory=lambda: 77)
hobbies: List[str] = field(default_factory=list)
birthday: datetime = field(default_factory=datetime)