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
Anleitung zur Übung
- Definiere die Klassenmethode
from_str(), mit dem speziellen erforderlichen Argument sowie einem weiteren namensdatestr. - Teile
datestran Bindestrichen"-"und speichere das Ergebnis in der Variablenparts. - Gib
year,monthunddayin dieser Reihenfolge zurück, und verwende dabei das Schlüsselwort, das auch__init__()aufruft. - Erzeuge die Variable
xmasmit 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)