__init__ を書かなくても済むのはいいけど、型情報を書く必要ある。
これは慣れていくしかないか...
というか、class の書き方もこのスタイルに変わってくるかも。
from dataclasses import dataclass @dataclass class Point: x: float y: float z: float = 0.0 p = Point(1.5, 2.5) print(p) # Point(x=1.5, y=2.5, z=0.0)@dataclass(frozen=True) でイミュータブルになり、少しだけパフォーマンスが良くなると。
What’s New In Python 3.7
PEP 557 – Data Classes