Pythonのdataclassは、クラスの定義を簡潔にし、データの保持に特化したクラスを作成するためのデコレータです。これはPython 3.7から標準ライブラリに導入されました。
dataclassの基本的な使い方
dataclassを使用するには、クラス定義の直前に@dataclassデコレータを付けます。これにより、クラスはデータクラスとして振る舞い、いくつかの便利な機能が自動的に提供されます。
from dataclasses import dataclass
@dataclass
class Point:
x: float
y: float
dataclassでは、__init__メソッドが自動的に生成されます。これにより、クラスのインスタンスを作成する際に、各属性に値を渡せます。
p = Point(x=1.0, y=2.0)
print(p) # Point(x=1.0, y=2.0)
dataclassの便利な機能
dataclassが提供する便利な機能には、__repr__メソッドと__eq__メソッドの自動生成があります。__repr__メソッドは、クラスのインスタンスを文字列形式で表現する役割を持ちます。__eq__メソッドにより、2つのインスタンスの属性が等しいかどうかを簡単に比較できます。
以上がPythonのdataclassについての基本的な説明です。この機能を活用することで、Pythonでのクラス定義がより簡潔になり、コードの可読性が向上します。