始める無料で始める

dataclass を作成する

Dataclass を使うと、データの保存と操作をさらに柔軟に行えます。前のセクションでは、体重ログのエントリに namedtuple を使い、扱いやすいデータ構造を作りました。ここでは同じことを dataclass で行い、さらにカスタム property を追加して、体重とフリッパー長の比率を返すようにします。Dataclass はまずフィールドとその型の集合から始まります。次にプロパティを定義します。プロパティは、その dataclass 自身(self)に対して処理を行い、データに関する追加情報を返す関数です。たとえば、人を表す dataclass なら、誕生日と現在の日付から現在の年齢を計算して返すプロパティを持たせられます。

この演習はコースの一部です

Python のデータ型

コースを見る

演習の手順

  • dataclasses から dataclass をインポートします。
  • dataclass に speciesstring)、sexstring)、body_massint)、flipper_lengthint)の各フィールドを追加します。
  • body_massflipper_length で割った値を返すプロパティ(mass_to_flipper_length_ratio)を追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import dataclass
from ____ import ____

@____
class WeightEntry:
    # Define the fields on the class
    ____: str
    ____: int
    ____: int
    ____: str
        
    # Define a property that returns the body_mass / flipper_length
    ____
    ____ mass_to_flipper_length_ratio(____):
        return ____.body_mass / ____.____
コードを編集して実行