開始使用免費開始

建立一個 dataclass

Dataclass 可以用更彈性的方式來儲存與操作資料。之前我們用 namedtuple 來表示體重記錄,做出了一個好用的資料結構。這段程式碼中,我們要用 dataclass 做同樣的事,但另外加入自訂的 property,回傳體重與鰭長的比值。Dataclass 會先定義一組欄位及其型別。接著你可以定義任何屬性(properties),也就是定義在 dataclass 上、作用於自身並回傳與資料相關的額外資訊的函式。例如,一個 person 的 dataclass 可能會有一個屬性,根據生日與目前日期計算一個人的實際年齡。

本練習屬於課程

Python 的資料型別

檢視課程

練習說明

  • dataclasses 匯入 dataclass
  • 在 dataclass 中加入 speciesstring)、sexstring)、body_massint)與 flipper_lengthint)欄位。
  • 加上一個屬性(mass_to_flipper_length_ratio),回傳 body_mass 除以 flipper_length 的結果。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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 / ____.____
編輯並執行程式碼