単にデータ(特に数値)を放り込む塊を作りたい場合、dataclassが使えます。
実際のところ
from dataclasses import dataclass @dataclass class Point: x: int y: int = 10 pt = Point(x=10,y=19) pt.x #> 10 pt.y #> 19
初期値設定のおかげで
pt3 = Point(x=10) pt3.x #> 10 pt3.y #> 0 pt4 = Point(80) pt4.x #> 80 pt4.y #> 0
pythonなので型保障まではしてくれないので注意。
pt2 = Point(x="foo", y="bar") pt2.x #>'foo' pt2.y #> 'bar'
これだけだと旨味がない感じですが
pt5 = Point(80) pt3 == pt5 #> False pt5 == pt4 #> True
他にも安全にデータを使う方法が用意されていたり、tuple他のデータ型に変換する基礎にできたりします。
JSON型と相互変換
dataclasses-jsonというライブラリと併せてつかうとJSON形式と相互に読み替えができます
shuzo-kino.hateblo.jp