dataclass を作成する
Dataclass を使うと、データの保存と操作をさらに柔軟に行えます。前のセクションでは、体重ログのエントリに namedtuple を使い、扱いやすいデータ構造を作りました。ここでは同じことを dataclass で行い、さらにカスタム property を追加して、体重とフリッパー長の比率を返すようにします。Dataclass はまずフィールドとその型の集合から始まります。次にプロパティを定義します。プロパティは、その dataclass 自身(self)に対して処理を行い、データに関する追加情報を返す関数です。たとえば、人を表す dataclass なら、誕生日と現在の日付から現在の年齢を計算して返すプロパティを持たせられます。
この演習はコースの一部です
Python のデータ型
演習の手順
dataclassesからdataclassをインポートします。- dataclass に
species(string)、sex(string)、body_mass(int)、flipper_length(int)の各フィールドを追加します。 body_massをflipper_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 / ____.____