打造 BetterDate 類別
你正在開發一個時間序列套件,並想定義一個用來處理日期的自訂類別 BetterDate。
這個類別會有 year、month、day 三個屬性。你希望有一個建構子,能用年、月、日的數值建立 BetterDate 物件,同時也能從字串(例如 2021-04-30)建立 BetterDate 物件。
本練習屬於課程
Python 物件導向程式設計入門
練習說明
- 定義名為
from_str()的類別方法,包含必要的特殊參數,並加入名為datestr的參數。 - 以連字號
"-"拆分datestr,並將結果儲存為變數parts。 - 使用會呼叫
__init__()的關鍵字,依序回傳year、month、day。 - 使用類別的
.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)