LoslegenKostenlos loslegen

Eine BetterDate-Klasse erstellen

Du entwickelst ein Time-Series-Paket und möchtest eine eigene Klasse zum Arbeiten mit Datumsangaben definieren: BetterDate.

Die Attribute der Klasse sind year, month und day. Du willst einen Konstruktor, der BetterDate-Objekte aus den Werten für Jahr, Monat und Tag erstellt, aber du willst auch BetterDate-Objekte aus Strings wie 2021-04-30 erzeugen können.

Diese Übung ist Teil des Kurses

Einführung in objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere die Klassenmethode from_str(), mit dem speziellen erforderlichen Argument sowie einem weiteren namens datestr.
  • Teile datestr an Bindestrichen "-" und speichere das Ergebnis in der Variablen parts.
  • Gib year, month und day in dieser Reihenfolge zurück, und verwende dabei das Schlüsselwort, das auch __init__() aufruft.
  • Erzeuge die Variable xmas mit der .from_str()-Methode der Klasse und übergib den String "2024-12-25".

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)
Code bearbeiten und ausführen