Python › Dataclasses & NamedTuples
How do you specify default values for dataclass fields, and what ordering restriction applies?
IntermediateAnswer
Assign a default value directly after the type annotation, exactly like a regular function parameter default — and just like function parameters, any field WITH a default must come AFTER all fields WITHOUT one, or Python raises a TypeError at class definition time.
@dataclass
class User:
name: str # required, no default
role: str = "user" # has a default, must come after required fields
u = User("Sam")
print(u.role) # 'user'Real-world example Defining sensible default values for optional configuration fields on a dataclass, like a default role or status.