![見出し画像](https://assets.st-note.com/production/uploads/images/173975668/rectangle_large_type_2_04e45d7aacf3fbf43457a8bd3c98aa79.png?width=1200)
【Python】脱辞書型 dataclassとenumで入れ子構造のデータ管理
はじめに
dataclassとenumを組み合わせて、効率的に入れ子構造のデータ管理を行うことができる。
dataclassはデータ管理を目的としたクラスを定義するための機能である。
enumは列挙型で識別子の集合を保持するための機能である。
これらの機能を組み合わせることにより、 「入れ子構造のデータ」を列挙型にて管理することができる。
例えば、入れ子構造のハイパーパラメータを管理したいときに、役立てることができる。
【実装】dataclassとenumでの実装例
dataclassとenumにて入れ子構造を定義した場合、 既に属性の定義が済んでいるため、エディタのコード補完により各要素にアクセスが容易になる。
【比較】 辞書型での入れ子構造のデータの管理との比較
同じことを辞書型で実現する場合、辞書のキー名を取得する必要性があり、手間が発生する。 また、dataclassの機能を活用することで、入れ子構造のデータのミスタイプを発生させることなく、管理することができる。