Créer une classe BetterDate
Vous développez un trousse logiciel pour séries chronologiques 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 un constructeur qui crée des objets BetterDate à partir des valeurs d'année, de mois et de jour, mais vous voulez aussi pouvoir créer des objets BetterDate à partir de chaînes, comme 2021-04-30.
Cette activité fait partie du cours
Introduction à la programmation orientée objet en Python
Instructions de l’exercice
- Définissez la méthode de classe
from_str(), en fournissant l'argument spécial requis ainsi qu'un autre appelédatestr. - Séparez
datestrpar des traits d'union"-"et enregistrez 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 ce code d’exemple.
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)