Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Definiera klassmetoden from_str() med det obligatoriska specialargumentet och ett annat argument som heter datestr.
  • Dela upp datestr vid bindestreck "-" och lagra resultatet i variabeln parts.
  • Returnera year, month och day, i den ordningen, med det nyckelord som även anropar __init__().
  • Skapa variabeln xmas med 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)
Redigera och kör kod