Tworzenie klasy BetterDate
Tworzysz pakiet do analizy szeregów czasowych i chcesz zdefiniować własną klasę do pracy z datami: BetterDate.
Klasa będzie miała atrybuty year, month i day. Chcesz, aby konstruktor tworzył obiekty BetterDate na podstawie podanych wartości roku, miesiąca i dnia, ale także żeby można było tworzyć obiekty BetterDate z ciągów znaków, takich jak 2021-04-30.
To ćwiczenie jest częścią kursu
Wprowadzenie do programowania obiektowego w Pythonie
Instrukcje do ćwiczenia
- Zdefiniuj metodę klasową o nazwie
from_str(), podając wymagany specjalny argument oraz drugi argument o nazwiedatestr. - Podziel
datestrwedług myślników"-"i zapisz wynik jako zmiennąparts. - Zwróć
year,monthidayw tej kolejności, używając słowa kluczowego, które wywoła również__init__(). - Utwórz zmienną
xmas, korzystając z metody.from_str()klasy i podając ciąg znaków"2024-12-25".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)