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
Anleitung zur Übung
- Definiere die Klassenmethode
from_str()
, die das spezielle erforderliche Argument liefert, und eine weitere mit dem Namendatestr
. - Teile
datestr
durch Bindestriche"-"
und speichere das Ergebnis als Variableparts
. - Gib
year
,month
undday
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)