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の基本的な使い方と便利な機能になります。これらの知識を活用して、より効率的なコードを書くことができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です