PythonのDataclassは、Python 3.7から導入された機能で、クラスの定義を簡潔にし、データの保持に特化したクラスを作成するためのデコレータです。
Dataclassの基本的な使い方
Dataclassを使用するには、クラス定義の直前に@dataclass
デコレータを付けます。
from dataclasses import dataclass
@dataclass
class Point:
x: float
y: float
このようにすると、__init__
メソッドが自動的に生成され、各属性に値を渡せます。
p = Point(x=1.0, y=2.0)
print(p) # Point(x=1.0, y=2.0)
また、Dataclassのフィールドには、デフォルト値を指定できます。
@dataclass
class Rectangle:
width: float
height: float = 10.0
rect = Rectangle(width=5.0)
print(rect) # Rectangle(width=5.0, height=10.0)
Dataclassの便利な機能
Dataclassには、__repr__
メソッドと__eq__
メソッドが自動生成されます。
__repr__
メソッドは、クラスのインスタンスを文字列形式で表現する役割を持ちます。
@dataclass
class Circle:
radius: float
c = Circle(radius=5.0)
print(c) # Circle(radius=5.0)
__eq__
メソッドにより、2つのインスタンスの属性が等しいかどうかを簡単に比較できます。
以上がPythonのDataclassの基本的な使い方と便利な機能になります。これらの知識を活用して、より効率的なコードを書くことができます。