\

Pythonのdataclassは、クラスの定義を簡単にし、コードの可読性を向上させるための便利な機能です。特に、データの箱を示すクラスを用意するときにとても重宝します。

しかし、dataclassと辞書型(dict)との間でデータを変換する必要がある場合もあります。例えば、APIのレスポンスをdataclassに変換したり、dataclassをJSONに変換してAPIのリクエストとして送信したりする場合などです。

Dataclassから辞書型への変換

dataclassから辞書型への変換は、Pythonの標準ライブラリdataclassesasdict関数を使用します。

from dataclasses import dataclass, asdict

@dataclass
class Sample:
    name: str
    age: int

sample = Sample("John", 25)
sample_dict = asdict(sample)
print(sample_dict)  # {'name': 'John', 'age': 25}

このように、asdict関数を使用するとdataclassのインスタンスを辞書型に簡単に変換することができます。

辞書型からDataclassへの変換

辞書型からdataclassへの変換は、辞書を展開(**dict)してdataclassのインスタンスを作成します。

from dataclasses import dataclass

@dataclass
class Sample:
    name: str
    age: int

sample_dict = {"name": "John", "age": 25}
sample = Sample(**sample_dict)
print(sample)  # Sample(name='John', age=25)

このように、辞書を展開することでdataclassのインスタンスを簡単に作成することができます。

以上、Pythonのdataclassと辞書型の相互変換について説明しました。これらの知識を活用して、Pythonプログラミングをより効率的に行いましょう。

投稿者 admin

コメントを残す

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