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
datestrpar 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)