Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

dataclasses have methods for iterating fields and inspecting types, so any feature can be added. There is also the benefit of type checking. My grief with dataclasses is how I can't inherit from dataclasses with default fields without making all child class fields also have defaults.


dataclasses author here.

Does the keyword-only feature in 3.10 help you at all?


Wow, I was unaware of this feature. It appears there are 3 ways to declare fields as keyword-only.

    @dataclass(kw_only=True)
    class Birthday:
        name: str
        birthday: datetime.date

    # ---

    @dataclass
    class Birthday:
        name: str
        birthday: datetime.date = field(kw_only=True)

    # ---

    from dataclasses import KW_ONLY

    @dataclass
    class Point:
        x: float
        y: float
        _: KW_ONLY
        z: float = 0.0
        t: float = 0.0

https://docs.python.org/3/whatsnew/3.10.html#keyword-only-fi...


And a big thank you for the dataclasses module, and for making the life of the whole python community a little easier!


Love it, thank you!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: