Pythonのdataclasses
モジュールは、データを格納するためのクラスを定義し、データ格納クラスのための様々な機能を含んだモジュールです。特に、default_factory
パラメータは、フィールドのデフォルト値を動的に設定する場合に使用します。
Dataclassの基本
dataclasses.dataclass
デコレータをクラス宣言に付与し、データフィールドをクラス変数として記述することで、データ格納クラスを作成します。例えば、以下のようにデータクラスPerson
を定義します。
from dataclasses import dataclass
@dataclass
class Person():
first_name: str
last_name: str
age: int
このようにdataclass
を定義すると、__init__()
関数がデータクラスに対して自動で作成されます。
Default_factoryの利用
default_factory
は、フィールドのデフォルト値を動的に設定するためのパラメータです。例えば、リスト型のフィールドに初期値を設定する場合は、dataclasses.field
関数の引数にdefault_factory
を指定します。
from dataclasses import dataclass, field
@dataclass
class Person():
first_name: str = ''
last_name: str = ''
age: int = 0
family: list = field(default_factory=list)
このようにすると、family
フィールドの初期値は空のリストになります。
まとめ
Pythonのdataclasses
モジュールとdefault_factory
パラメータを活用することで、データ格納クラスの定義がシンプルになり、コードの可読性と保守性が向上します。Pythonでデータを扱う際には、ぜひ活用してみてください。