開始使用免費開始

打造 BetterDate 類別

你正在開發一個時間序列套件,並想定義一個用來處理日期的自訂類別 BetterDate

這個類別會有 yearmonthday 三個屬性。你希望有一個建構子,能用年、月、日的數值建立 BetterDate 物件,同時也能從字串(例如 2021-04-30)建立 BetterDate 物件。

本練習屬於課程

Python 物件導向程式設計入門

檢視課程

練習說明

  • 定義名為 from_str() 的類別方法,包含必要的特殊參數,並加入名為 datestr 的參數。
  • 以連字號 "-" 拆分 datestr,並將結果儲存為變數 parts
  • 使用會呼叫 __init__() 的關鍵字,依序回傳 yearmonthday
  • 使用類別的 .from_str() 方法建立變數 xmas,並提供字串 "2024-12-25"

動手互動練習

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

class BetterDate:
  def __init__(self, year, month, day):
    self.year, self.month, self.day = year, month, day
    
  # Define a class method from_str
  ____
  ____
    # Split the string at "-"
    parts = datestr.____("____")
    year, month, day = int(parts[0]), int(parts[1]), int(parts[2])
    # Return the class instance
    ____ ____(____, ____, ____)

# Create the xmas object      
xmas = ____.____("____")   
print(xmas.year)
print(xmas.month)
print(xmas.day)
編輯並執行程式碼