Créer une classe BetterDate
Vous développez un package 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 voulez 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 aussi pouvoir créer des objets BetterDate à partir de chaînes, comme 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
from_str(), en fournissant l’argument spécial requis ainsi qu’un autre appelédatestr. - Découpez
datestravec des tirets"-"et stockez le résultat dans la variableparts. - Retournez
year,monthetday, dans cet ordre, en utilisant le mot-clé qui appellera aussi__init__(). - Créez la variable
xmasen utilisant la méthode.from_str()de la classe, en fournissant la chaîne"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)