Erste SchritteKostenlos loslegen

Aufbau einer BetterDate-Klasse

Du entwickelst ein Zeitreihenpaket und möchtest deine eigene Klasse für die Arbeit mit Daten definieren, BetterDate.

Die Attribute der Klasse sind year, month und day. Du möchtest einen Konstruktor haben, der BetterDate Objekte mit den Werten für Jahr, Monat und Tag erstellt, aber du möchtest auch in der Lage sein, BetterDate Objekte aus Zeichenketten zu erstellen, z.B. 2021-04-30.

Diese Übung ist Teil des Kurses

Einführung in die objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere die Klassenmethode from_str(), die das spezielle erforderliche Argument liefert, und eine weitere mit dem Namen datestr.
  • Teile datestr durch Bindestriche "-" und speichere das Ergebnis als Variable parts.
  • Gib year, month und day in dieser Reihenfolge zurück, indem du das Schlüsselwort verwendest, das auch __init__() aufruft.
  • Erstelle die Variable xmas mit der Methode .from_str() der Klasse, die den String "2024-12-25" beweist.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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)
Bearbeiten und Ausführen von Code