Bygg en BetterDate-klass
Du utvecklar ett paket för tidsserier och vill definiera en egen klass för att arbeta med datum: BetterDate.
Klassens attribut ska vara year, month och day. Du vill ha en konstruktor som skapar BetterDate-objekt utifrån värden för år, månad och dag, men du vill också kunna skapa BetterDate-objekt från strängar, till exempel 2021-04-30.
Den här övningen är en del av kursen
Introduktion till objektorienterad programmering i Python
Övningsinstruktioner
- Definiera klassmetoden
from_str()med det obligatoriska specialargumentet och ett annat argument som heterdatestr. - Dela upp
datestrvid bindestreck"-"och lagra resultatet i variabelnparts. - Returnera
year,monthochday, i den ordningen, med det nyckelord som även anropar__init__(). - Skapa variabeln
xmasmed klassens.from_str()-metod och skicka in strängen"2024-12-25".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)