Hacker News new | ask | show | jobs
by abdusco 1641 days ago
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...