Construire une classe BetterDate
Vous développez un progiciel de séries temporelles et souhaitez définir votre propre classe pour travailler avec des dates, BetterDate
.
Les attributs de la classe seront year
, month
, et day
. Vous souhaitez disposer d'un constructeur qui crée des objets BetterDate
à partir des valeurs de l'année, du mois et du jour, mais vous voulez également pouvoir créer des objets BetterDate
à partir de chaînes de caractères, telles que 2021-04-30
.
Cet exercice fait partie du cours
Introduction à la programmation orientée objet en Python
Instructions
- Définissez la méthode de classe appelée
from_str()
, en fournissant l'argument spécial requis, et une autre appeléedatestr
. - Divisez
datestr
par des tirets"-"
et stockez le résultat dans la variableparts
. - Renvoyez
year
,month
, etday
, dans cet ordre, en utilisant le mot-clé qui appellera également__init__()
. - Créez la variable
xmas
à l'aide de la méthode.from_str()
de la classe, en fournissant la chaîne de caractères"2024-12-25"
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)